我现在正在为这个问题苦苦挣扎一天,我只是不知道如何解决它。
所以,我有一个 AlertDialog,我想在其中显示要选择的项目列表。这些项目必须有多个文本视图等,所以我不能依赖setMultiChoiceItems()
使用默认格式的简单构建器。
我在这里使用我的自定义 ArrayAdapter,这样做:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Choose details to display");
builder.setAdapter(new ContactAdapter(this, 0, items), null);
我以为我可以使用 anOnClickListener
作为第二个参数,setAdapter
但是在选择一个选项后会关闭对话框。
为了解决这个问题,我setOnClickListener()
在获取行布局时在我的 ContactsAdapter 中添加了一个,如下所示:
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.contact_row, null);
view.setOnClickListener(new OnClickListener() {....}
这可行,但是当我单击一行时,我会停止突出显示,这是我真的不想要的。
任何想法如何解决这个问题?我知道我可以使用 ListActivity 并且这很容易解决,但我真的想在对话框中执行此操作。谢谢!