ListView item中有button或EditText时 点击事件失效问题的解决

时间:2021-05-31 14:41:46

加入:android:descendantFocusability="blocksDescendants"

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/listitem_bg"
android:orientation="vertical">

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/gridRowHeight"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal">

<TextView
style="@style/gridRow"
android:id="@+id/tvShortCode"
android:layout_weight="1.4"
android:text="简码"/>
<TextView
style="@style/gridRow"
android:id="@+id/tvItemName"
android:layout_weight="1"
android:text="商品名称"/>
<TextView
style="@style/gridRow"
android:id="@+id/tvKind"
android:layout_weight="1.4"
android:text="品类"/>
<TextView
style="@style/gridRow"
android:id="@+id/tvPri"
android:layout_weight="1.4"
android:text="零售价"/>
<EditText
style="@style/singleEdit"
android:id="@+id/edtValue"
android:layout_weight="1.3"
android:layout_gravity="center"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:numeric="integer"
android:gravity="center"
android:text="库存"/>
</LinearLayout>

<LinearLayout
android:id="@+id/layInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="5dp"
android:visibility="gone"
android:orientation="vertical" >

<EditText
style="@style/singleEdit"
android:id="@+id/edtValue"
android:layout_weight="1.3"
android:layout_gravity="center"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:numeric="integer"
android:gravity="center"
android:text="库存"/>

<Button
android:id="@+id/btnSaved"
style="@style/button"
android:layout_width="fill_parent"
android:layout_marginTop="10dp"
android:text="完 成"/>

</LinearLayout>

</LinearLayout>