我目前正在编写一个 Android 应用程序,我希望它能够编写/设计得很好。
现在,我在我经常使用的相对布局中拥有一组多个 View (2 个 ImageView 、3 个 TextView )。有没有办法创建一个自定义 View 来重新组合它们?
我拍摄了此屏幕截图来解释我现在所做的事情:
如您所见,现在我刚刚复制/粘贴了包含我所有 View 的框架布局...这是正确的方法还是有更干净的解决方案?
谢谢大家
最佳答案
没有更好的方法是将您放入布局中的所有内容放入对象的 ArrayList
中。
然后创建一个 ArrayAdapter
以按照您想要的方式从此对象填充 ListView
。
此技术的优点是您可以获得 View 回收机制,该机制将回收 ListView
内的 View
,以减少内存消耗。
简而言之您必须:
1. 创建一个代表单行数据的对象。
2. 创建这些对象的 ArrayList
。
3. 创建包含 ListView 的布局或使用代码将 ListView 添加到主布局。
4.创建单行布局(您已经拥有它)。
5. 创建一个 ViewHolder
,它将从 Views
的角度表示数据行的视觉效果。
6. 创建一个自定义 ArrayAdapter
,它将根据您的需要填充行。
7.最后在onCreate
中将此ArrayAdapter
分配给您的ListView
。
您可以通过阅读我写的这篇博文来了解如何实现这一点:
关于Android View 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930297/