关于ListView嵌套GridView中的onItemClickListener失效问题
一开始在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失效问题的更多相关文章
- ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
ScrollView 效果 ScrollView 说明 一个ScrollView 嵌套ListView 嵌套GridView的上拉加载更多,下拉刷新的demo. 主要是重写了GridView和Lsit ...
- android listView嵌套gridview的使用心得
在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动 ...
- ListView嵌套GridView
首先,我们通过两个实例来了解下本篇文章所讲的重点,看下图: 微博: 陌陌: 大家应该对这两款软件并不陌生,接下来,我将列举下本文将要实现的几个点: 1.ListView嵌套GridView,互不冲突, ...
- ListView嵌套GridView使用详解及注意事项
ListView嵌套GridView即ListView的每个Item中都包含一个GridView:需要注意的是由于ListView和GridView都是可滑动的控件. 所以需要自定义GridView, ...
- Flutter中用ListView嵌套GridView报错异常
flutter中的ListView组件和GridView组件都是常用的布局组件,有时候ListView中需要嵌套GridView来使用,例如下图: 这种情况就需要在ListView里面再嵌套一个Gri ...
- 【Android】listview 嵌套gridview报错,代码:”during second layout pass: posting in next frame
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 公众号:程序员小冰 说明:本人曾经在listview嵌套gridview出现 ...
- ListView嵌套GridView,显示不全解决办法
ListView嵌套GridView时,遇到了GridView只显示一行,其余都显示不出来的问题,最终解决办法如下: 需要自定义GridView,重新绘制高度即可: public class MyGr ...
- div中嵌套div中使用margin-top失效问题
div中嵌套div中使用margin-top失效问题
- Android中ListView嵌套GridView的简单消息流UI(解决宽高问题)
最近搞一个项目,需要用到类似于新浪微博的消息流,即每一项有文字.有九宫格图片,因此这就涉及到ListView或者ScrollView嵌套GridView的问题.其中GridView的高度问题在网上都很 ...
随机推荐
- In_interrupt( ) 和In_irq( )【转】
转自:http://blog.csdn.net/do2jiang/article/details/5486888 in_interrupt() 是判断当前进程是否处于中断上下文,这个中断上下文包括底半 ...
- struts2-json-plugin插件实现异步通信
用例需要依赖的jar: struts2-core.jar struts2-convention-plugin.jar,非必须, struts2-json-plugin.jar org.codehaus ...
- React Native学习笔记-1:JSC profiler is not supported.
新建React-Native工程,直接编译运行报错,控制台错误信息如下: 2016-02-22 16:49:47.317 [info][tid:com.facebook.React.JavaScrip ...
- 关于PHP的正则表达式
1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...
- [xcode]instruments来检验你的app
原文网址:http://www.cocoachina.com/industry/20140114/7696.html 比较了好多关于instruments 还是发现老外写的比较牛逼.于是果 ...
- python项目练习3:万能的XML
1.目的 如何用XML来表示多种数据,以及如何使用适合XML或SAX的简单API来处理XML文本.目标是通过一个描述各种网页和目录的XML文件生成一个完整的网站. 注:有关XML的描述参见http:/ ...
- nn package
1.nn模块是神经网络模块 2.父类module,子类Sequential, Parallel和Concat 3.Linear:做线性变换 4.criterion 这个模块包含了各式各样的训练时的损失 ...
- 2016CCPC东北地区大学生程序设计竞赛 1008 HDU5929
链接http://acm.hdu.edu.cn/showproblem.php?pid=5929 题意:给你一种数据结构以及操作,和一种位运算,最后询问:从'栈'顶到低的运算顺序结果是多少 解法:根据 ...
- 2016年11月12日 星期六 --出埃及记 Exodus 20:3
2016年11月12日 星期六 --出埃及记 Exodus 20:3 "You shall have no other gods before me.除了我以外,你不可有别的 神.
- 2016年10月22日 星期六 --出埃及记 Exodus 19:6
2016年10月22日 星期六 --出埃及记 Exodus 19:6 you will be for me a kingdom of priests and a holy nation.' These ...