Дано ListView. Каждый item этого ListView содержит:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fl_item"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/back_list_item"
>
<LinearLayout
android:layout_width="0dip" android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical"
android:paddingRight="5dip"
android:paddingLeft="5dip"
android:paddingBottom="5dip"
>
<TextView android:id="@+id/tv_title"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:singleLine="false"
android:layout_weight="1"
android:text="Lenovo A 1000"
android:textSize="14sp"
android:textStyle="normal"
android:maxLines="3"
/>
</LinearLayout>
<ImageView android:id="@+id/toBasketImageView"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:scaleType="fitCenter"
android:src="@drawable/item_add_to_basket"
/>
</LinearLayout>
ImageView содержащий drawable item_add_to_basket:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/to_basket_2_white" />
<item android:state_pressed="false" android:drawable="@drawable/to_basket_1_white" />
</selector>
Каждый item должен обрабатывать нажатия (вызывается setOnItemClickListener) и также ImageView с id toBasketImageView должен обрабатывать нажатия. Получается что ImageView показывает нажатое состояние как при нажатии на него так и при нажатии на остальной item.
Как этого избежать? Как показывать нажатое состояние только при нажатии на ImageView?
PS. Я пробовал добавить
clickable="true" к LinearLayout - состояние state_pressed не передается к ImageView но тогда и OnItemClickListener не срабатывает.