我正在尝试存储和使用单选警报对话框的选定项目。
到目前为止,这是我的代码:
final String[] deviceNames = getBTPairedDeviceNames();
int selpos;
new AlertDialog.Builder(this)
.setSingleChoiceItems(deviceNames, 0, null)
.setPositiveButton("O.K.", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
int selectedPosition = ((AlertDialog)dialog).getListView().getCheckedItemPosition();
// Do something useful with the position of the selected radio button
selpos = selectedPosition;
}
})
.show();
Toast.makeText(this, "" + selpos, Toast.LENGTH_SHORT) .show();
尝试分配给 selpos 时出现编译错误。错误内容如下:
“不能在不同方法中定义的内部类中引用非最终变量 selpos”
将 selpos 设置为最终会导致错误:
“无法分配最终的局部变量 selpos,因为它是在封闭类型中定义的”
如何从代码块中获取所选项目的位置?
谢谢