关于 setPositiveButton 的问题
查了一下官方文档 实现 DialogInterface.OnClickListener接口的onClick方法应该是可以找到
the position of item 也就是 单选对话框的选项位置的但是这里的which 每一次都是返回 -1
有没有方法点击 确定的时候 获得items的选择项的内容?
16
收起
正在回答 回答被采纳积分+1
1回答
irista23
2017-06-01 15:17:45
在setSingleChoiceItems中的onClick()中可以直接取值,如果想在setPositiveButton中取值就得循环自己处理了,参考如下关键代码:
AlertDialog dialog = new AlertDialog.Builder(this).setTitle("单选对话框").setIcon(R.drawable.xx) .setSingleChoiceItems(items, -1, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }).create(); dialog.show();
final String[] loves=getResources().getStringArray(R.array.loves); final boolean[] checkedItems=new boolean[loves.length]; AlertDialog dialog = new AlertDialog.Builder(this).setTitle("单选对话框").setIcon(R.drawable.xx) .setPositiveButton(items, -1, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { for(int i=0;i<checkedItems.length;i++){//自己循环取值 if(checkedItems[i]){ sb.append(loves[i]); sb.append("\n"); } } } }).create(); dialog.show();
如果解决了你的疑惑,请采纳,祝学习愉快~
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星