我在我的程序中使用AlertDialog
,每当我点击Dialog中的任何项目时,总是得到:
java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1
这是我的实施:
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d("which::--", String.valueOf(which));
});
答案 0 :(得分:1)
以下是获取点按项index or position
的简单解决方案:
int selectedPosition = ((AlertDialog)dialog).getListView().getCheckedItemPosition();
答案 1 :(得分:0)
根据文档,“which”参数表示“点击的按钮(例如BUTTON1)或点击项目的位置。”
在这里你把你的侦听器(DialogInterface.OnClickListener())放在你的PositiveButton上,这样“which”将总是返回BUTTON1或BUTTON_POSITIVE(见http://developer.android.com/reference/android/content/DialogInterface.html)。
您必须使用函数
将听众放在列表中 例如 var clone = document.getElementById('first_div').cloneNode(true);
clone.querySelector('#firstname').id = 'lastname';
document.getElementById('second_div').innerHTML = clone.innerHTML;
或setSingleChoiceItems (CharSequence[] items, int checkedItem, DialogInterface.OnClickListener listener)
如果您想允许多项目选择。