gpt4 book ai didi

android - 在对话框生成器中执行 setPositiveButton 时出现错误?

转载 作者:行者123 更新时间:2023-11-30 04:27:25 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中编写一个对话框。问题是当我单击“确定”(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();

我会在这里解释我的代码

  1. 我正在尝试使用 Resource/values 文件中的字符串数组来填充我的 AlertDialogbox ,
  2. 并将其存储到静态字符串变量value

在该应用程序崩溃后,它可以正常工作,直到单击对话框 Activity 的肯定按钮。任何人都可以帮助我解决这个问题吗???

提前致谢!!

最佳答案

 public void onClick(DialogInterface dialog, int which) { 

此方法中的 which 告诉单击的按钮,您不应将其用作数组的索引。 which 可以是以下任何一个:

Dialog.BUTTON_NEGATIVE; (value=-2)

Dialog.BUTTON_NEUTRAL; (value=-3)

Dialog.BUTTON_POSITIVE (value=-1)

当然,如果您使用它从数组中获取值,它会给您 ArrayIndexOutOfBoundsException

关于android - 在对话框生成器中执行 setPositiveButton 时出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com