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

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

编译时报错信息如下:
...全文
12660 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
CSDN的编辑器真恶心人,哎
  • 打赏
  • 举报
回复
                 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
                         
                    }
                        });
a1142939032 2013-07-17
  • 打赏
  • 举报
回复
灰火 2013-05-06
  • 打赏
  • 举报
回复
引用 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
wintrysun 2013-05-03
  • 打赏
  • 举报
回复
不错不错,解决了我的问题。谢谢!
dongge416 2012-06-19
  • 打赏
  • 举报
回复
明白了,谢谢[Quote=引用 5 楼 的回复:]
因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
普通的onclick()是view下的,完全是两个不同的实现
[/Quote]
Emerson0909 2012-06-18
  • 打赏
  • 举报
回复
因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
普通的onclick()是view下的,完全是两个不同的实现
Emerson0909 2012-06-18
  • 打赏
  • 举报
回复
因为 setPositiveButton是实现android.content.DialogInterface.OnClickListener接口后的方法
普通的onclick()是view下的,完全是两个不同的实现
Paul.Y 2012-03-26
  • 打赏
  • 举报
回复
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
imisgao 2012-03-26
  • 打赏
  • 举报
回复
菜鸟请问楼主为什么要这么改?
Paul.Y 2012-03-26
  • 打赏
  • 举报
回复
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) {

}
});
另一个做同样的修改

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧