1
  • 当我使用 :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"/> 

复选框不会被切换。

  • 如果我onClickListener在列表中实现这样的adapter

((CheckedTextView) convertView.findViewById(R.id.dp_quiz_answer_choice_item)).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        ((CheckedTextView) v).toggle();
    }
});

SINGLE_CHOICE模式被禁用(可以启用任意数量的复选框)。

  • 如果我setOnItemClickListener在列表视图中实现,复选框将不会被切换。

mChoiceList.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int item,
                    long id) {
        mChoiceList.setItemChecked(item, true);
    }
});

有没有办法为SINGLE_CHOICEmode自定义布局ListView

4

2 回答 2

1

您正在使用SINGLE_CHOICE?android:attr/listChoiceIndicatorMultiple应该在的位置?android:attr/listChoiceIndicatorSingle

于 2013-06-04T14:39:46.767 回答
0

这对我来说有点奇怪,经过许多其他实验后,我了解到拥有与用于我idCheckedTextView相同的那个对我有用android.R.layout.simple_list_item_single_choice。标识是@android:id/text1.

于 2012-04-24T01:21:01.143 回答