在代码中有这么一段,找了半天没有找到错误地方,但是在编译时报错:
CharSequence[] items ={"Top","Hot","Recent","New"};
              boolean[] chsBool ={true,false}; 
                 AlertDialog.Builder builder = new AlertDialog.Builder(this);
              //AlertDialog.Builder ad = new AlertDialog.Builder(this);
                 builder.setTitle("app_sort_button");
              /*builder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener(){
                     public void onClick(DialogInterface dialog, int item){
                       Log.d("Christinatest-----------","Test");
                                    //Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
                       }
                    });*/
              builder.setPositiveButton(R.string.button_ok,new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
}
                   });
              builder.setNegativeButton(R.string.button_cancel,new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub

}
});              builder.show();
                 return true;
编译时报错信息如下:

解决方案 »

  1.   

    builder.setPositiveButton(R.string.button_ok,new OnClickListener(){
                            public void onClick(View v) {
                        
                            }
                       });
     
    此处应该修改为
    builder.setPositiveButton(R.string.button_ok, new DialogInterface.OnClickListener(){
                            public void onClick(View v) {
                        
                            }
                       });
    另一个做同样的修改
      

  2.   

    public AlertDialog.BuildersetPositiveButton(CharSequence text, DialogInterface.OnClickListener listener)
     Since: API Level 1
    Set a listener to be invoked when the positive button of the dialog is pressed.
    Parameterstext The text to display in the positive buttonlistener The DialogInterface.OnClickListener to use.Returns
    This Builder object to allow for chaining of calls to set methods 
      

  3.   

    因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
    普通的onclick()是view下的,完全是两个不同的实现
      

  4.   

    因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
    普通的onclick()是view下的,完全是两个不同的实现
      

  5.   


    貌似onclick里的参数应该是dialoginterface dialog,int which
      

  6.   

                     builder.setPositiveButton(R.string.button_ok,new OnClickListener(){
                            public void onClick(View v) {
                                // TODO Auto-generated method stub
                            }
                       });
                     builder.setNegativeButton(R.string.button_cancel,new OnClickListener(){
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                             
                        }
                            });应该改为:                 builder.setPositiveButton(R.string.button_ok,new DialogInterface.OnClickListener(){
                            public void onClick(DialogInterface dialog, int which) {
                                // TODO Auto-generated method stub
                            }
                       });
                     builder.setNegativeButton(R.string.button_cancel,new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
                             
                        }
                            });