发布网友 发布时间:2024-03-02 09:35
共1个回答
热心网友 时间:2024-07-22 07:01
个人主页为 The_D的博客
很多人使用 Listview 时,总是用 ViewHolder 的模式来创建,而根据 Customizing Android ListView Rows by Subclassing 中说的,ViewHolder 是一种愚笨的方式。在这篇文章中,作者提出了一个新的思路,也就是通过自定义的 Layout 来代替 ViewHolder。
demo:
下面来说说如何实现:
首先,创建 item_relative_layout.xml :
item由头像 ImageView ,名字 TextView 和描述 TextView 构成
然后,创建 CustomRelativeLayout.java :
ListAdapter.java :
UsingCustomLayoutActivity.java :
activity_using_custom_layout.xml :
这样写可以使item复用,并且针对复杂的Adapter,大大的简化了书写。对于一些跟View相关的逻辑,可以直接写在CustomRelativeLayout中,消除了Adapter的冗余。