首页
学习
活动
专区
圈层
工具
发布

Android ListView 分组效果实现「建议收藏」

大家好,又见面了,我是你们的朋友全栈君。 一. 实现的效果 实例只是简单的显示了两个分组PC和Mobile两个分组 。...用起来是非常简单的。 2. 具体分组的实现 我们先要知道BaseAdapter里面的getItemViewType()函数和getViewTypeCount()函数的作用。...getViewTypeCount表示ListView 每个item会缓存几个复用对象,getItemViewType则是根据position判断这个这个item对应用哪个缓存的对象,换句话说比如getViewTypeCount...内部类Category 这个没什么东西包含一个BaseAdapter对象和一些必要的方法, 因为我们在MobileCategoryAdatper里面肯定是会有List对象的。 2)....然后把title(onTitleClick)和item(onItemClick)的点击的实现都暴露出去。

82610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发-Listview中显示不同的视图布局

    使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。...convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView的回收和重用会出现问题。...2.ListView包含不同Item的布局 我们需要做这些工作:   1)重写 getViewTypeCount() – 该方法返回多少个不同的布局   2)重写 getItemViewType...,获得当前所需要的view样式     @Override     public int getItemViewType(int position) {       // TODO Auto-generated...)         return TYPE_3;       else         return TYPE_1;     }     @Override     public int getViewTypeCount

    4.1K30

    android常见bug跟踪

    BaseAdapter.getView 如果getView方法返回null,那么对应的ListView在显示时就直接触发NullPointerException异常。...如果可以收集到用户是在哪个页面发生崩溃那么问题的定位会准确许多,但是,如果自己的Adapter需要返回好多种View(也就是getViewTypeCount的值,比如一个包含很多不同布局的对话列表),那么你还是需要仔细分析代码来找到具体哪个...解决办法只能从根源上进行: 在我们编写getView方法时,对最终返回的参数自己进行非空判断,当针对不同position处的getItemViewType得到的View对象为null时,可以自己抛出一个...一个Exception,包含position,getItemViewType的数据,方便定位 // 或者生成一个默认的View,提供给用户有用的信息——如果的确不至于让app crash...注意:getView返回null从java语法上是没问题的,虽然根据约定,它返回null肯定会引发空指针异常——但是这是对调用getView的方法而言。

    1.3K50
    领券