ListView中点击冲突解决方法
2016-07-19 18:05
183 查看
1.了解setDescendantFocusability的作用
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
2.使用方式有两种
1.Java代码动态设置
在listview的adapter中 getView()方法里面添加如下代码:public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder;
if(view==null){
view= LayoutInflater.from(mContext).inflate(R.layout.list_view_item,viewGroup,false);
holder = new ViewHolder(view);
view.setTag(holder);
}
holder = (ViewHolder) view.getTag();
((ViewGroup)view).setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
initData(holder,i);
return view;
}
2.在listview自定义item根布局里面添加如下属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"
android:descendantFocusability="blocksDescendants"
android:layout_height="match_parent">
<Button
android:layout_width="100dp"
android:layout_height="48dp"
android:id="@+id/lv_item_tv"
android:gravity="center"
></Button>
</LinearLayout>
通过以上两种方式都可以解决listview点击事件冲突问题
相关文章推荐
- 完美实现Android ListView中的TextView的跑马灯效果
- android上改变listView的选中颜色
- Delphi7中Listview的常用功能汇总
- Delphi控件ListView的属性及使用方法详解
- Android ListView弹性效果的实现方法
- android中ListView数据刷新时的同步方法
- Android提高之ListView实现自适应表格的方法
- Android中实现水平滑动(横向滑动)ListView示例
- Android ListView分页功能实现方法
- C#实现ListView选中项向上或向下移动的方法
- C#下listview如何插入图片
- Listview加载的性能优化是如何实现的
- C#实现listview Group收缩扩展的方法
- C# listview添加combobox到单元格的实现代码
- ListView 百分比进度条(delphi版)
- Android listview多视图嵌套多视图
- ListView Adapter优化 实例
- Android用ListView显示SDCard文件列表的小例子
- Adapter实现ListView带多选框等状态的自定义控件的注意事项
- asp.net ListView 数据绑定