一开始在ListView中设置了onItemClickListener,在里面Log输出Item列表的位置,完全没有反应,

网上大部分说的什么把子组件屏蔽掉(而且好多都是转载的一样的),

可是我希望的就是要用到子组件,所以这个方法治标不治本

能否同时即监听到子组件,又监听到ListView本身呢?(未找到解决办法)

所以只能找其他解决办法了...

开始以为是与onTouch这个方法有冲突,

参考了:http://blog.csdn.net/jiangwei0910410003/article/details/17504315

但是把onTouch事件注释掉后问题没有解决,猜想可能是GridView的onItemClickListener获取了焦点,导致

ListView的onItemClickListener无法获取焦点,从而导致点击事件无法识别

后来一想,我只是想在点击事件中获取ListView的Item的位置而已,在GridView的onItemClickListener获取到也是

可以的,所以自己应该可以重写一个OnItemClickListener接口不就ok了吗

参考:http://my.oschina.net/gluoyer/blog/182322

就重写了一个OnItemClickListener接口,然后问题得以解决

 private class OnItemChildClickListener implements OnItemClickListener {
// 点击类型索引,对应前面的CLICK_INDEX_xxx
private int clickIndex;
// 点击列表位置
private int rowItem; public OnItemChildClickListener(int clickIndex, int position) {
this.clickIndex = clickIndex;
this.rowItem = position;
} /**
* 点击缩略图事件
*/
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
if (i) {
imgGroup = new ArrayList<ImageInfo>();
imgGroup = imageInfoMap.get(timeMap.get(rowItem));
Log.e("ListViewAdapter2", Integer.toString(position));
Log.i("ListItem position",Integer.toString(rowItem));
String fileName = imgGroup.get(position).getPath();
File file=new File(fileName);
Intent it =new Intent(Intent.ACTION_VIEW);
Uri mUri = Uri.parse("file://"+file.getPath());
it.setDataAndType(mUri, "image/*");
i = false;
activity.startActivity(it);
activity.finish();
} else {
i = true;
}
}
}
//调用
gv = (MyGridView) convertView.findViewById(R.id.gridview1);
gv.setAdapter(new GridViewAdapter(context, position,timeMap,imageInfoMap));
gv.setOnItemClickListener(new OnItemChildClickListener(0, position));

  不知道还有没有其他什么好的解决ListView的按键监听被子组件覆盖的方法,有待研究~

关于ListView嵌套GridView中的onItemClickListener失效问题的更多相关文章

  1. ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    ScrollView 效果 ScrollView 说明 一个ScrollView 嵌套ListView 嵌套GridView的上拉加载更多,下拉刷新的demo. 主要是重写了GridView和Lsit ...

  2. android listView嵌套gridview的使用心得

    在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动 ...

  3. ListView嵌套GridView

    首先,我们通过两个实例来了解下本篇文章所讲的重点,看下图: 微博: 陌陌: 大家应该对这两款软件并不陌生,接下来,我将列举下本文将要实现的几个点: 1.ListView嵌套GridView,互不冲突, ...

  4. ListView嵌套GridView使用详解及注意事项

    ListView嵌套GridView即ListView的每个Item中都包含一个GridView:需要注意的是由于ListView和GridView都是可滑动的控件. 所以需要自定义GridView, ...

  5. Flutter中用ListView嵌套GridView报错异常

    flutter中的ListView组件和GridView组件都是常用的布局组件,有时候ListView中需要嵌套GridView来使用,例如下图: 这种情况就需要在ListView里面再嵌套一个Gri ...

  6. 【Android】listview 嵌套gridview报错,代码:”during second layout pass: posting in next frame

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 公众号:程序员小冰 说明:本人曾经在listview嵌套gridview出现 ...

  7. ListView嵌套GridView,显示不全解决办法

    ListView嵌套GridView时,遇到了GridView只显示一行,其余都显示不出来的问题,最终解决办法如下: 需要自定义GridView,重新绘制高度即可: public class MyGr ...

  8. div中嵌套div中使用margin-top失效问题

    div中嵌套div中使用margin-top失效问题

  9. Android中ListView嵌套GridView的简单消息流UI(解决宽高问题)

    最近搞一个项目,需要用到类似于新浪微博的消息流,即每一项有文字.有九宫格图片,因此这就涉及到ListView或者ScrollView嵌套GridView的问题.其中GridView的高度问题在网上都很 ...

随机推荐

  1. linux异步通信之epoll【转】

    转自:http://www.cnblogs.com/snake-hand/archive/2012/08/13/2636229.html 1.简介 epoll是linux提供的一种异步的I/O通知方式 ...

  2. js 如何生成唯一且不可预测的 ID

    通常数据库可以生成唯一的 ID,最多的就是数字序列,也有像 MongoDB 这样产生组合序列的,不过这种形式的 ID 由于是序列,是可以预测的.如果想得到不可预测且唯一的 ID,方法还是有的. 下面主 ...

  3. Oracle错误:ORA-01033

    Oracle错误:ORA-01033 错误编码:ORA-01033: ORACLE initialization or shutdown in progress 故障描述:因为移动了数据库文件([NA ...

  4. Linux之查看CPU信息

    # 查看逻辑CPU个数: # cat /proc/cpuinfo |grep "processor"|sort -u|wc -l 24 # 查看物理CPU个数: # grep &q ...

  5. 完整学习git二 git 暂存区

    1 git log 命令查看提交日志信息 git log --pretty-fuller #详细查看 git log --stat #查看每次提交的文件变更 git log --pretty-onli ...

  6. java生成验证码的逻辑

    直接撸代码: 1.html <input class="form-control placeholder-no-fix width-yzm" type="text& ...

  7. day3 python 函数

    常犯的错误: IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行... 函数是指一 ...

  8. Mybatis用法小结

    select 1.基本用法 <select id="selectTableOne" resultType="com.test.entity.tableOne&quo ...

  9. Task schedule 分类: 比赛 HDU 查找 2015-08-08 16:00 2人阅读 评论(0) 收藏

    Task schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. centos 6.5源码编译安装subversion 1.8.10

    一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...