gpt4 book ai didi

java - 如何在android对话框窗口中更新多选

转载 作者:行者123 更新时间:2023-11-29 09:15:08 24 4
gpt4 key购买 nike

我找不到帮助使用游标进行多选的教程。截至目前,我的逻辑正在按照我想要的方式工作,但复选框不会正确更新。我忽略了什么?

return new AlertDialog.Builder(this).setTitle("Items")
.setMultiChoiceItems(cur, CHECK, EDATE, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int position, boolean checked)
{
DBM.open();
AlertDialog AD = (AlertDialog) dialog;
ListView list = AD.getListView();
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

itemCur = (Cursor) list.getItemAtPosition(position);

if (checked)
{
//update query
DBM.setChecked(checkCur.getInt(checkCur.getColumnIndex(ID)), itemId, userId, 1);
list.setItemChecked(1, true);
} else
{
DBM.setChecked(checkCur.getInt(checkCur.getColumnIndex(ID)), itemId, userId, 0);
list.setItemChecked(1, false);
}
DBM.close();
}
}).setPositiveButton("OK", new DialogButtonClickHandler()).create();

最佳答案

Android 上的对话框无法修改。如果您查看源代码,您会发现 dialogbuilder 将所有演示工作委托(delegate)给某些组件,并且在创建后您无权访问它们。因此,更改用于构建对话框的组件的状态不会在之后更新对话框组件。

可以看到这个机制herehere : 在警报 Controller 上调用 onCreate 后,您无权访问访问 Controller 。

如果你想实现这一点,最好的办法是重建一个新的 Activity 并给它一个对话主题。

关于java - 如何在android对话框窗口中更新多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986943/

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