林深
2016-01-21 07:22
采纳率: 80%
浏览 2.5k

Android ListView的adapter中如何重用不同类型的item

如题,我要做的效果是一个listView中能显示不同类型的item,而且我希望同一类的item能够在滑动时候进行重用。
比如说,我一个listView中,会显示纯文字的item、纯图片的item、纯视屏的item,我在滑动的时候会根据我的数据类型进行选择加载,我希望我除了开始的时候为它们创建view以外,之后滑动下去以后都是重用之前的item,纯文字的item重用之前显示过的纯文字的item、纯图片的item重用之前显示过的纯图片的item、纯视屏的item重用之前显示过的纯视屏的item

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 远古大钟 2016-01-21 12:11
    已采纳

    你的例子里面纯文字的item、纯图片的item、纯视屏的item共3种type
    1.继承BaseAdapter
    2.覆盖如下方法
    1)getViewTypeCount() 你的例子是返回3
    2 ) getItemViewType() 为你的每种item顶一个编号,形成position到type的映射
    3.接下来你就可以在getView中重用对象,之前已经有position到type的映射了,你可以得到convertview当前的type类型了
    4.不谢

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Antway_ 2016-01-21 07:33

    你可以学习下一些listview的一些使用

    评论
    解决 无用
    打赏 举报
  • danielinbiti 2016-01-21 07:33

    只能屏幕可见的缓冲区重用。
    不同布局自己继承baseadapter,然后重写getItemViewType

    评论
    解决 无用
    打赏 举报
  • somebody_mao 2016-01-21 08:21

    使用Google推荐使用替代ListView的RecyclerView他会自动帮你回收不用的item并重用

    评论
    解决 无用
    打赏 举报
  • 103style 2016-01-21 08:39

    可以让后台返回一个item的标识 在adapter 的 getview 根据标识进行选择

    评论
    解决 无用
    打赏 举报
  • LloydFinch 2016-01-22 06:42
    评论
    解决 无用
    打赏 举报
  • qq_27578023 2016-06-10 14:12

    你的例子里面纯文字的item、纯图片的item、纯视屏的item共3种type
    1.继承BaseAdapter
    2.覆盖如下方法
    1)getViewTypeCount() 你的例子是返回3
    2 ) getItemViewType() 为你的每种item顶一个编号,形成position到type的映射
    3.接下来你就可以在getView中重用对象,之前已经有position到type的映射了,你可以得到convertview当前的type类型了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题