gpt4 book ai didi

android - AlertDialog 适配器上的自定义行背景颜色

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

我正在尝试创建一个带有 ArrayAdapter 的 AlertDialog,以显示项目列表供用户选择表单(单选)。但是,我想显示之前选择了哪个项目。由于选择一个项目会自动关闭对话框,我的想法是为先前选择的项目设置自定义背景颜色。下面是我希望实现的模型:

enter image description here

我目前的代码是这样的:

private void showCustomAlert(int alertNumber, int parentTaskId) {
Log.w(LOGTAG, showCustomAlert);
int alertNumberID = Integer.parseInt(task1_id);
if (alertNumber==2) alertNumberID = Integer.parseInt(task2_id);
else if (alertNumber==3) alertNumberID = Integer.parseInt(task3_id);
else if (alertNumber==4) alertNumberID = Integer.parseInt(task4_id);

AlertDialog.Builder builderSingle = new AlertDialog.Builder(thisActivity);
builderSingle.setIcon(R.drawable.icon);
builderSingle.setTitle("Select Task:");


final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(thisActivity,
android.R.layout.select_dialog_singlechoice);
for (int i=0; i<taskList.size(); i++) {
BT_item tmpItem = taskList.get(i);
if (BT_strings.getJsonPropertyValue(tmpItem.getJsonObject(),"task_parent","").equalsIgnoreCase(parentTaskId + ""))
arrayAdapter.add(BT_strings.getJsonPropertyValue(tmpItem.getJsonObject(),"task_name",""));
}

builderSingle.setNegativeButton("cancel",
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});

builderSingle.setAdapter(arrayAdapter,
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int taskSelected) {
Log.w(LOGTAG, "task selected");

}
});
builderSingle.show();

}

最佳答案

试试这个.. 而不是你的 builderSingle.setAdapter 使用下面的行

                builderSingle
.setCancelable(true)
.setSingleChoiceItems(display_array, selected_pos, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog1, int pos) {
// TODO Auto-generated method stub

selected_pos = pos;

dialog.cancel();
}
})

display_array 是您要在数组中的对话框中显示的项目..

关于android - AlertDialog 适配器上的自定义行背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467680/

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