In ListView, when a list item has an onListItemClick button, it doesn't work

In my ListView item, my list item has a view below

this is my row.xml layout

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/Peru" android:orientation="vertical" > <LinearLayout android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:background="@drawable/et_back_yellow" android:orientation="horizontal" > <ImageButton android:id="@+id/ib_edit" android:layout_width="35dp" android:layout_height="30dp" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:layout_weight="1" android:background="@drawable/ib_selector" android:contentDescription="@string/edit" android:src="@drawable/edit" /> <TextView android:id="@+id/tv_date" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="100" android:gravity="center_vertical|center_horizontal" /> <TextView android:id="@+id/tv_time" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="100" android:gravity="center_vertical|center_horizontal" /> <ImageButton android:id="@+id/ib_delete" android:layout_width="35dp" android:layout_height="30dp" android:layout_marginBottom="5dp" android:layout_marginRight="5dp" android:layout_marginTop="5dp" android:layout_weight="1" android:background="@drawable/ib_selector" android:contentDescription="@string/edit" android:src="@drawable/delete" /> </LinearLayout> <EditText android:id="@+id/et_note" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/title" android:layout_alignRight="@+id/title" android:layout_below="@+id/title" android:layout_marginTop="5dp" android:ems="10" android:inputType="textMultiLine" android:background="@color/yellow"> <requestFocus /> </EditText> </RelativeLayout> 

When I click on a list item, the onListItemClick method does not work. But when I remove the buttons of the row.xml form, this works. Can someone help me. Thanks in advance.

+4
source share
3 answers

Use this attribute in LinearLayout and RelativeLayout :

 android:descendantFocusability="blocksDescendants" 
+8
source

You cannot have both onItemClick and onClick in the child view of the ListView , as indicated here . Button - focus and click on, which will cause onItemClick not work.

0
source

The reason for prblem, I think, is the layout weight given to the imageButtons buttons. Therefore, try to assign weights to all the views in the linear layout along with the weightSum attribute of the linearLayout element itself.

The reason I am not trying to handle the clickListener, I feel that the ImageButton is being compressed across the entire width of the line, and the element no longer has a place that listener code can execute.

0
source

All Articles