当前位置:编程学习 > wap >>

关于Android中setPositiveButton和setNegativeButton的使用问题

在代码中有这么一段,找了半天没有找到错误地方,但是在编译时报错:
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;

编译时报错信息如下:
[img=C:\Documents and Settings\11035140\桌面][/img] --------------------编程问答-------------------- 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) {
                    
                        }
                   });
另一个做同样的修改 --------------------编程问答-------------------- 菜鸟请问楼主为什么要这么改? --------------------编程问答-------------------- 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.


Parameters



text 

The text to display in the positive button



listener 

The DialogInterface.OnClickListener to use.



Returns
This Builder object to allow for chaining of calls to set methods 
--------------------编程问答-------------------- 因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
普通的onclick()是view下的,完全是两个不同的实现 --------------------编程问答-------------------- 因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
普通的onclick()是view下的,完全是两个不同的实现 --------------------编程问答-------------------- 明白了,谢谢
引用 5 楼  的回复:
因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
普通的onclick()是view下的,完全是两个不同的实现
--------------------编程问答-------------------- 不错不错,解决了我的问题。谢谢! --------------------编程问答--------------------
引用 1 楼 pb_09java 的回复:
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) {
                    
                        }
                   });
另一个做同样的修改


貌似onclick里的参数应该是dialoginterface dialog,int which --------------------编程问答-------------------- --------------------编程问答--------------------
                 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
                         
                    }
                        });
--------------------编程问答-------------------- CSDN的编辑器真恶心人,哎
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,