关闭

GridView的点击事件冲突解决

标签: android开发gridview事件冲突
5804人阅读 评论(2) 收藏 举报
分类:

      在开发的时候,经常可能遇到ListView或GridView控件点击事件与Item点击事件冲突的问题原因是Item布局中的button或ImageButton强制获取了item的焦点,解决方式之一是:只要设置Item布局中的button的focusable为false即可,另外可以在Item布局的根节点添加属性android:descendantFocusability="blocksDescendants"也可以解决。

    今天在开发一界面的时候遇到了点击事件冲突问题,并不是I控件本身与Item上的控件冲突,而是控件的本身与其header(比如ListView可以添加Header)中的事件冲突,用上面的方法就解决不了。先贴下界面情况,图是随便画的,请勿喷!


如上图,主要是头部的GridView与本身控件PullToRefreshGridViewWithHeaderAndFooter及其它部分控件的事件冲突,头部GridView的onItemClick()事件非常不灵敏,甚至无效,除非先点击其它部分,再点击GridView的item才有效。试了各种 方式都无效,后来就用了一个最原始的方法,就是把每一个Item的点击事件放在GridView的适配器adapter中来处理,冲突问题就没有了。

adapter中的主要代码 :

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.product_category_list_item, null);
holder.categoryRela=(RelativeLayout) convertView.findViewById(R.id.index_category_rela);//是在item的根结点设置的id
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
holder.categoryRela.setOnClickListener(new OnClickListener() {//这里设置的点击事件
@Override
public void onClick(View v) {
EventBus.getDefault().post(new CategoryItemEvent(pos));
}
});
return convertView;
}

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android:ListView中嵌入GridView,处理点击事件的冲突

【问题】当GridView嵌入ListView后,始终响应的是GridView的点击事件,我需要的是获取到ListView的点击事件!   在使用ListView的时候,我们使用adapter中画我...
  • HMYANG314
  • HMYANG314
  • 2015-05-13 15:51
  • 2809

在ListView嵌套GridView中出现的点击事件冲突的处理以及gridview显示不全的问题

写这篇博文也是出于偶然看到自己很久以前写的一堆“烂码”,目的是为了实现一个ListView中能够嵌入GridView的功能,为了展示图文的一个Item,这是一个很普通的功能,但在那时候什么都不懂的我还...
  • u011251014
  • u011251014
  • 2015-11-10 20:48
  • 1244

android: GridView onFling/onItemClickListener 滑动与点击事件 冲突

在使用ViewFlipper的时候,里面是两个GridView,每个GridView里面的item都有一个点击事件 如果处理不好很容易在GridView的onFling的时候就点击到他的item就同...
  • hundsong
  • hundsong
  • 2011-08-17 12:12
  • 12875

Android:ListView中嵌入GridView,处理点击事件的冲突

【问题】当GridView嵌入ListView后,始终响应的是GridView的点击事件,我需要的是获取到ListView的点击事件!   在使用ListView的时候,我们使用adapter中画我...
  • HMYANG314
  • HMYANG314
  • 2015-05-13 15:51
  • 2809

SlidingMenu+ViewPage+ListView嵌套(类似网易 ) ListView点击事件失效冲突问题解决

  • 2014-03-14 17:18
  • 9.42MB
  • 下载

Android 在ListView嵌套GridView中出现的点击事件冲突的处理以及gridview显示不全的问题

写这篇博文也是出于偶然看到自己很久以前写的一堆“烂码”,目的是为了实现一个ListView中能够嵌入GridView的功能,为了展示图文的一个Item,这是一个很普通的功能,但在那时候什么都不懂的我还...
  • u010930340
  • u010930340
  • 2016-05-03 10:25
  • 512

listview item点击事件冲突问题

  • 2016-04-01 10:34
  • 6.93MB
  • 下载

ListView和Button点击事件冲突处理

  • 2015-10-18 23:02
  • 2.30MB
  • 下载

ListView嵌套GridView点击空白地方无法触发ListView点击事件解决方法

最近在做个项目,需要个需求,类似微信朋友圈的功能,不过跟微信朋友圈不同的是,他点击item会进入详情页,点击图片会参看大图,但是当我的图片无法铺满一行时,点击空白部分时就无法跳转到详情页,这里不方便拿...
  • shuhong01
  • shuhong01
  • 2015-07-26 15:15
  • 1417

GridView设置Item的点击事件无效的解决方案

背景 问题导原因 问题解决图示 补充说明 A little bit of progress every dayCome on背景界面显示用到了gridview,然后gridview的item的item...
  • csdnzouqi
  • csdnzouqi
  • 2017-12-20 14:40
  • 112
    个人资料
    • 访问:846737次
    • 积分:11594
    • 等级:
    • 排名:第1515名
    • 原创:342篇
    • 转载:59篇
    • 译文:1篇
    • 评论:249条
    Github
    个人Github主页面:https://github.com/ldm520,请大家多指教!
    最新评论