我的列表视图中有一个可检查的项目
public class CheckableMessageOut extends RelativeLayout implements Checkable{
public CheckableMessageOut(Context context) {
super(context);
}
public CheckableMessageOut(Context context, AttributeSet attrs) {
super(context, attrs);
}
LinearLayout wrapper;
private boolean checked = false;
@Override
public void setChecked(boolean b) {
if (checked!=b){
if (b){
wrapper.setBackgroundResource(R.drawable.label_msg_out_selected);
} else {
wrapper.setBackgroundResource(R.drawable.label_msg_out);
}
}
checked = b;
}
我这样用
<ru.kurganec.vk.messenger.ui.helper.CheckableMessageOut xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:id="@+id/wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/label_msg_out"
android:orientation="vertical">
<TextView
android:id="@+id/text_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ad"
/>
<LinearLayout
android:id="@+id/list_attach"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/text_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/wrapper"
android:text="06.06"/>
</ru.kurganec.
vk.messenger.ui.helper.CheckableMessageOut>
有时我以编程方式将一些视图添加到@id/list_attach,然后发生了一些奇怪的事情。我无法选择带有附加视图的项目。
整体看起来是这样的。
说选中我的意思是选中。我设置了这个字段 mList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
为什么我不能选择项目?
更新
片段类http://pastebin.com/BZRhahbi这是我的应用程序的主要部分,所以它看起来像“神级”反模式
适配器类http://pastebin.com/Av7ntUmG
适配器的物品类http://pastebin.com/MdYc7Ksw