Pen*_*m10 40 android android-alertdialog
我有这个代码来显示带有单选(无线电)选项的对话框.
AlertDialog ad = new AlertDialog.Builder(this)
.setCancelable(false)
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(R.string.choose_one)
.setSingleChoiceItems(seq, pos,null)
.setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() {
public void onClick( DialogInterface dialog, int whichButton)
{
// dialog dismissed
}
}).create();
Run Code Online (Sandbox Code Playgroud)
我如何获得所选的选择?
小智 106
我知道这是一个老帖子,但我刚刚遇到它,发现这个解决方案看起来有点简单了,这里发布了什么.
你可以这样做:
在onClick()对话框正面按钮的处理程序中,添加以下代码:
ListView lw = ((AlertDialog)dialog).getListView();
Object checkedItem = lw.getAdapter().getItem(lw.getCheckedItemPosition());
Run Code Online (Sandbox Code Playgroud)
Mat*_*çon 14
我尝试使用,ListView.setSelection(int)但它从未按预期工作,所以我决定使用View.setTag()临时存储选定的位置.
.setSingleChoiceItems(adapter, -1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
ListView lv = ((AlertDialog)dialog).getListView();
lv.setTag(new Integer(which));
}
})
Run Code Online (Sandbox Code Playgroud)
点击按钮后,可以轻松访问标签.
.setPositiveButton(R.string.button_text,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
ListView lv = ((AlertDialog)dialog).getListView();
Integer selected = (Integer)lv.getTag();
if(selected != null) {
// do something interesting
}
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39459 次 |
| 最近记录: |