java.lang.ArrayIndexOutOfBoundsException:length = 12;指数= -1

时间:2015-09-19 11:20:36

标签: android android-alertdialog

我在我的程序中使用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));

       });

2 个答案:

答案 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)如果您想允许多项目选择。