gpt4 book ai didi

java - 带有 SimpleAdapter 和单选模式的 AlertDialog 不显示单击的项目

转载 作者:行者123 更新时间:2023-12-01 14:44:46 28 4
gpt4 key购买 nike

我需要显示AlertDialog有一些自定义行。这些行的右侧应该有一个单选按钮,并且选择模式应该是单一模式(因此是单选按钮)。

我有:

ArrayList<HashMap<String, String>> it = new ArrayList<HashMap<String,String>>();
HashMap<String, String> map;

map = new HashMap<String, String>();
map.put("asd", "test1");
it.add(map);
map = new HashMap<String, String>();
map.put("asd", "test2");
it.add(map);
map = new HashMap<String, String>();
map.put("asd", "test3");
it.add(map);

SimpleAdapter sa = new SimpleAdapter(context, it, R.layout.dialog_row, new String[] { "asd" }, new int[] { android.R.id.text1 });

AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setSingleChoiceItems(sa, -1, null);
// here are added positive and negative buttons
builder.show();

xml dialog_row :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<ImageView
android:id="@+id/rowIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/rh_3" />

<CheckedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?listPreferredItemHeightSmall"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:gravity="center_vertical"
android:paddingLeft="?listPreferredItemPaddingLeft"
android:paddingRight="?listPreferredItemPaddingRight"
android:textAppearance="?textAppearanceListItemSmall" />

</LinearLayout>

AlertDialog按我的预期显示 - 但是当我单击某个项目时,单选按钮保持未选中状态。这是为什么?

最佳答案

我在这里找到了一个可行的解决方案:https://stackoverflow.com/a/3281239/554002

基本上,我必须制作一个自定义 ArrayAdapter 并仅使用 CheckedTextView 作为布局 xml 中的唯一元素,而不是上面发布的元素。

关于java - 带有 SimpleAdapter 和单选模式的 AlertDialog 不显示单击的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550723/

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