我有一个需要调用web服务的应用程序,并根据响应构建一个卡列表。 I.E.卡的数量和内容是无限期的。所以我要说我的回答是这样的(注意这是一个简化的响应):
{
"items": [
"1",
"2",
"3",
"4",
"5"
],
"timestamp": "bla bla bla"
}
对于数组items
中的每个项目,需要创建一个新卡。最具表现意识的方法是什么?我应该只是以编程方式创建所有卡片,然后用Java添加它们,使用片段,还是我想错了?
答案 0 :(得分:2)
最有效率的方法是什么?
这很难在摘要中回答,因为这里没有人知道什么"卡"是的,这里没有人知道"内容"是。通常,创建事物的最高效方法是在需要之前不创建它们。
在Android中,对于中等轻量级内容的垂直滚动列表(我对"卡片列表"),您可以将模型数据数组包装在ArrayAdapter
或{ {1}},分别用于RecyclerView.Adapter
或ListView
。在这里,通过"适度轻量级",想想推文等。
对于垂直滚动的重量级事物列表...通常,只是说不,因为这不是Android上的典型UX模式。水平滑动是处理视觉复杂项目集合的典型方法。这通常使用RecyclerView
,通常使用片段作为页面。对于大型集合(例如,超过6个),使用ViewPager
来限制UI消耗的堆空间量。要绘制比较,显示联系人姓名+缩略图将是轻量级的,通常在FragmentStatePagerAdapter
/ ListView
中垂直滚动显示。显示完整的联系方式(更大的照片,所有电子邮件地址,所有电话号码等)将通过使用RecyclerView
的水平滑动来处理。
如果洛杉矶不会被一个超级反派打击,如果你不以垂直滚动的方式实现这一点和这些项目是重量级的,那么至少一个垂直ViewPager
实现作为一个库浮动,虽然我还没有使用它。