gpt4 book ai didi

android - 如何在onPrepareDialog中设置setSingleChoiceItems的内容?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:05 24 4
gpt4 key购买 nike

伙计们,在 onCreateDialog 中我有这个:

case DIALOG_REVIEW: {
if (bundle.containsKey("POSITION")) {
final int position = bundle.getInt("POSITION");
ArrayList<String> alterNumbers = numbers.get(position);
final String[] phoneNums = new String[alterNumbers.size()];
for (int i = 0; i < alterNumbers.size(); i++) {
phoneNums[i] = alterNumbers.get(i);
}
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle(names.get(position) + "'s number(s)");
dialog.setSingleChoiceItems(phoneNums, 0,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog,
int which) {
// get selected item and close the dialog
String selectedNumber = phoneNums[which];
updateUserSelectedNumber(position , selectedNumber);
}
});
return dialog.create();
}

这很好用。

但要注意线条

dialog.setSingleChoiceItems(phoneNums, 0,
new DialogInterface.OnClickListener() {

每次弹出对话框时,phoneNums 都应该改变。我已经覆盖了 onPrepareDialog 方法,但我不知道如何为其分配新值。而且那里也没有 setSingleChoiceItems。

这是我的 onPrepareDialog 方法

case DIALOG_REVIEW: {
final int position = bundle.getInt("POSITION");
ArrayList<String> alterNumbers = numbers.get(position);
final String[] phoneNums = new String[alterNumbers.size()];
for (int i = 0; i < alterNumbers.size(); i++) {
phoneNums[i] = alterNumbers.get(i);
}
AlertDialog alertDialog = (AlertDialog) dialog;
alertDialog.setTitle(names.get(position) + "'s number(s)");
???
break;
}

解决方案是什么?提前谢谢大家。

最佳答案

您需要使用 getListView AlertDialog 类的方法。然后使用 setItemChecked返回对象的方法。示例:

alertDialog.getListView().setItemChecked(1, true);

关于android - 如何在onPrepareDialog中设置setSingleChoiceItems的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4811688/

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