0

我想建立一个列表视图,每行都有一个带有图像和文本视图的复选框,我几乎做到了,但是当我放置复选框时我无法按下 list_row,我的意思是在我放置复选框之前我可以单击该行并且它像我的风格一样悬停,但是当我单击 list_row 时放置复选框后它没有悬停并且 onitemclick 不起作用,为什么?

这是我每个 list_row 的 xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/restaurant_list_item_selector"
    android:orientation="horizontal"
    android:padding="5dip" >

    <!-- ListRow Left sied Thumbnail image -->

    <LinearLayout
        android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:background="@drawable/restaurant_list_item_image_bg"
        android:padding="3dip" >

        <ImageView
            android:id="@+id/restaurant_multi_select_list_item_image"
            android:layout_width="50dip"
            android:layout_height="50dip"
            android:src="@drawable/rihanna" />
    </LinearLayout>

    <TextView
        android:id="@+id/restaurant_multi_select_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail"
        android:textColor="#040404"
        android:textSize="15dip"
        android:textStyle="bold"
        android:typeface="sans" />

    <!-- Rightend check box -->

    <CheckBox
        android:id="@+id/restaurant_multi_select_checkBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true" 
        android:checked="false"
        />

</RelativeLayout>
4

2 回答 2

2

添加可聚焦元素(如 CheckBox 或 Button)会禁用单击整个列表项的功能,并且必须禁用它们的可聚焦性。

在xml中的复选框属性中添加以下内容,然后尝试

android:focusable="false"
android:focusableInTouchMode="false" 

希望这可以帮助!!!

于 2013-01-22T14:58:18.240 回答
1

是的,因为复选框的存在使视图不可点击。您需要实现您正在使用的 ImageView 和 TextView 的 onClicklistenrs,并在单击列表行单击时编写相同的代码

设置焦点仅有助于触摸,但也将实现复选框单击

于 2013-01-22T15:06:41.833 回答