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

加入: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>

时间: 2024-11-06 07:10:21

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

Android listview的item点击事件失效Bug的解决

原因:listview布局中出现了button  .imaageButton.checkBox等可以点击的控件 第一种解决方法:在布局中添加android:descendantFocusability="blocksDescendants" 第二种解决方法:使用其他控件代替,在activity中用setOnClickListener监听点击事件

Android 中listview的item点击事件失效了的解决办法

原因多半是由于在自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应. 即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了

ListView的item中有button和checkbox,listview的点击事件无效

ListView的item中有button和checkbox,listview的点击事件无效,解决办法: 在item布局文件中的根控件中添加属性设置: android:descendantFocusability="blocksDescendants" 如果只能点击checkbox,而无法触发item的点击事件,那么可以禁掉checkbox的焦点获取,不让它可以点击就可以了 checkbox里面加 android:focusable="false" android:

ListView点击事件失效(item里面有button按钮控件)解决方法

ListView点击事件失效解决方法: 一般出现这个情况,就是你的item里面有按钮的点击事件,你的item里面有button控件,button控件是抢占焦点的,只要在你的item布局里面这样子写就可以了: <Button android:layout_width="140px" android:layout_height="56px" android:text="按钮" android:textSize="28px"

android中listview点击事件失效的灵异事件

首先说明一下我想实现的功能: 点击某个item之后,让其颜色发生变化.如果变化网上有很多例子,我就不班门弄斧了.Listview之所以点击没有反应是因为上图中绿色部分(自己定义的一个继承BaseAdapter的adapter来适应listview)将listview的item覆盖了.现在点击的只是自定义的adapter中的convertView. 其次,自定义的adapter中包含一个ImageView和二个TextView.代码如下: <?xml version="1.0" e

android中listview中包含ratingbar响应不了点击事件

在ListView中用RatingBar(自定义的图标),ListView就不能响应自己的单击事件OnItemClickListener.这怎么办呢? 只需要将布局文件中的Ratingbar的Android:isIndicator设置为false就可以了,这个代表该ratingbar只是作为指示器,不可操作. 有一些情况我们需要通过自定义ListView来实现一些效果,那么在这个时候,我们通常会碰到自定义ListView无法选中整个ListViewItem的情况,也就是无法响应ListView的

【转】Android - Button(按钮)的响应点击事件的4种写法

原文网址:http://www.yrom.net/blog/2011/12/12/android-4-onclicklistener-of-button/ Button控件setOnclickListener(View.OnClickListener listener)来接收一个点击事件的监听器 自定义一个点击事件监听器类让其实现View.OnClickListener的onClick(View v)方法 1 2 3 4 5 class MyOnClickListener implements

[转]android中listview点击事件失效

首先说明一下我想实现的功能: 点击某个item之后,让其颜色发生变化.如果变化网上有很多例子,我就不班门弄斧了.Listview之所以点击没有反应是因为上图中绿色部分(自己定义的一个继承BaseAdapter的adapter来适应listview)将listview的item覆盖了.现在点击的只是自定义的adapter中的convertView. 其次,自定义的adapter中包含一个ImageView和二个TextView.代码如下: <?xml version="1.0" e

Button的五种点击事件

1.内部类方式 class MyOnClickListener implements View.OnClickListener{ /** * Called when a view has been clicked. * * @param v The view that was clicked. */ @Override public void onClick(View v) { }} MyOnClickListener l = new MyOnClickListener(); bt.setOnC