当我使用来自
android.R.layout.simple_list_item_single_choice
的布局作为列表项时,复选框在点击时被选中,一切正常。但是当我使用布局时:
<CheckedTextView android:id="@+id/choice_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CheckedTextView"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:textSize="@dimen/text_size_medium"/>
复选框不会被切换。
- 如果我在列表
adapter
中实现这样的onClickListener
:
((CheckedTextView) convertView.findViewById(R.id.dp_quiz_answer_choice_item)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((CheckedTextView) v).toggle();
}
});
SINGLE_CHOICE
模式被禁用(可以启用任意数量的复选框)。
- 如果我在 ListView 中实现
setOnItemClickListener
,复选框将不会被切换。
mChoiceList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int item,
long id) {
mChoiceList.setItemChecked(item, true);
}
});
有什么方法可以为 SINGLE_CHOICE
模式 ListView
设置自定义布局?
最佳答案
您正在使用 ?android:attr/listChoiceIndicatorMultiple
而它应该是 ?android:attr/listChoiceIndicatorSingle
用于 SINGLE_CHOICE
关于Android - listView 中的自定义 CheckedTextView 在点击时未被选中/禁用 SINGLE_CHOICE 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10290318/