2012-05-27 3 views
0

흠 .. 생성자가 정의되지 않았다는 오류가 나타납니다.OnClick Listener 및 MessageBox 문제?

Dele.setOnClickListener(new OnClickListener() { 

      public void onClick(View arg0) { 



    EditText DelSel = (EditText) findViewById(R.id.ETDeleteSelect); 

        int Id = Integer.parseInt(DelSel.getText().toString()); 

        builder = new ***AlertDialog.Builder(this);*** 
        builder.setMessage("Are you sure you want to exit?") 
          .setCancelable(false) 
          .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, int id) { 
            MyActivity.this.finish(); 
           } 
          }) 
          .setNegativeButton("No", new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, int id) { 

누군가가 말해 줄 수 뭐죠 수정? 내가

라는 오류 "생성자에 AlertDialog.Builder (새 View.OnClickListener() {}) 정의되지"를 얻을

내가 뭘하려고 오전 버튼이 곳을 클릭하면 메시지 상자 열려 계속하거나하지 마십시오. 그래서 누군가 나를 도와주세요.

builder = new AlertDialog.Builder(YourActivityName.this); 

AlertDialog.Builder 생성자는 Context 참조를 기대하고 (당신이 당신의 청취자로서 선언 익명 OnClickListener 클래스 this를 사용하고 있기 때문에) 지금 당신이 그것을 OnClickeListener 참조를 제공합니다 :

+1

'AlertDialog.Builder()'는 하나의 매개 변수를 취하고 'AlertDialog'가 표시 될 'Activity'의'Context'를 취합니다. – Sajmon

답변

1

this 교체 .

+0

감사합니다. : D 나는 같은 기술을 사용했습니다. : D –

+0

@ShivaBala 조언으로 ** getApplicationContext() 메소드를 사용하지 마라 (이 메소드는'Context'를 리턴하고 대화 상자를 인스턴스화하기 위해이 메소드를 사용하여 유혹 될 수있다.) AlertDialog를 인스턴스화한다. – Luksprog