gpt4 book ai didi

Android AlertDialog 不显示单选按钮或消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:08 25 4
gpt4 key购买 nike

在我的应用程序中,我在 ListActivity 中长按会弹出上下文菜单。 “优先级”选项之一会弹出一个带有 3 个单选按钮选项的 AlertDialog。问题是,它显示一个空对话框,没有我的 3 个选择,也没有我设置的消息。这是我的代码..

protected Dialog onCreateDialog(int id) {
AlertDialog dialog;
switch(id) {
case DIALOG_SAB_PRIORITY_ID:
final CharSequence[] items = {"High", "Normal", "Low"};

AlertDialog.Builder builder = new AlertDialog.Builder(SabMgmt.this);
builder.setMessage("Select new priority")
.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});

dialog = builder.create();
break;
default:
dialog = null;
}
return dialog;
}

如果我将 .setSingleChoiceItems 替换为正负按钮,它会按预期显示按钮和消息。我在设置单选按钮列表时做错了什么?这也是我的调用代码..

public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.sabdelete:
// Correct position (-1) for 1 header
final SabQueueItem qItem = (SabQueueItem) itla.getItem(info.position-1);
SabNZBdUtils.deleteItem(qItem.getNzo_id());
getQueue();
ListView lv = getListView();
View v = lv.findViewById(R.id.sablistheader);
setHeader(v);
itla.notifyDataSetChanged();
return true;
case R.id.sabpriority:
showDialog(DIALOG_SAB_PRIORITY_ID);
return true;
default:
return super.onContextItemSelected(item);
}
}

最佳答案

想通了!我在 singleChoiceItem 对话框上使用 builder.setMessage 而不是 builder.setTitle。似乎使用单选按钮选项的对话框不支持设置消息,只支持标题。虽然提供了该方法,但似乎很奇怪。无论如何,这是工作代码..

protected Dialog onCreateDialog(int id) {
AlertDialog dialog;
switch(id) {
case DIALOG_SAB_PRIORITY_ID:
final CharSequence[] items = {"High", "Normal", "Low"};

AlertDialog.Builder builder = new AlertDialog.Builder(SabMgmt.this);
builder.setTitle("Select new priority")
.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});

dialog = builder.create();
break;
default:
dialog = null;
}
return dialog;

关于Android AlertDialog 不显示单选按钮或消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025185/

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