我想在我的应用程序中编写一个对话框。问题是,当我点击OK(SetPositiveButton)是示以下运行时错误执行对话框构建器中的setPositiveButton时出现错误?
E/AndroidRuntime(702):java.lang.ArrayIndexOutOfBoundsException
如果我试图执行评论行下面的代码,但它在onclick工作正常,但显示错误的某种用于setPositiveButton
@Override
protected Dialog onCreateDialog(int id) {
switch(id){
case ONCLICK_EXTRAS:
return new AlertDialog.Builder(AcricklayoutActivity.this)
.setIcon(R.drawable.ic_launcher)
.setTitle("Extras")
.setSingleChoiceItems(R.array.extras, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String[] items = getResources().getStringArray(R.array.extras);
value = items[which];
Log.v("this",String.valueOf(which)+items[which]);
}
})
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// String[] items = getResources().getStringArray(R.array.extras);
//text.setText(items[which]);
// Log.v("this",String.valueOf(which)+items[which]);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.create();
我会在这里解释我的代码
- 我试图使用Resource /值文件的字符串数组来填充我的AlertDialogbox,
- 并存储到静态字符串变量值
它工作正常,直到正按钮点击后,该应用程序崩溃的对话框活动..任何人都可以帮助我在这个问题上?
在此先感谢!
确定的价值'which'在setPositiveButton方法是什么?并且这个值在String []中是否存在? – Sephy
@Sephy:是的,我确定...我使用调试器和Logcat进行了检查... – Pradeepraj