好早之前项目里有用过ListView 嵌套 GridView 的功能;
今天想起来之前遇到其中的问题,就做下记录,以后不定期更新;
问题一: ListView 嵌套GredView后 点击事件无法生效:
原因很简单,因为点击事件没嵌套在里面的GridView 给消费了。
所以我们要做的就是不让你消费。
首先,在嵌套有GridView 的item 中加上 代码:
android:descendantFocusability="blocksDescendants" 覆盖子类控件而直接获得焦点
顺便加上其他两个属性 :
beforeDescendants:viewgroup 优先其子类控件而获取到焦点
afterDescendants:viewgroup 只有当其子类控件不需要获取焦点时才获取焦点
然后,再在涉及到适配器的 Java 文件中加上代码:
holder.gv.setClickable(false); holder.gv.setEnabled(false);gv 就是引用到的 GridView。
以上。
小朋友和小朋友的妈妈都喜欢看~