我遇到了以下“问题”。
我希望有一项活动向我展示某些球队在特定比赛日的排名。
因此我会添加一个微调器和一个TableLayout。在第一次开始时,活动应显示实际比赛日的排名,但随后您可以选择任何其他gaymeday并且站点应该更新。
创建此活动的最佳方式是什么?
使用所有TableRows和TextViews组装整个TableLayout,给它们id并在运行时通过id更新这些视图。问题:巨大的不灵活的硬编码layout.xml
在运行时组装布局,添加ID,通过ID更新
在运行时组装布局。在更新时删除旧视图并创建新视图
在运行时组装布局。在更新时重新启动活动
只是想知道哪一个是最好的。还是有其他方法可以实现这个目标
猎豹答案 0 :(得分:1)
如果我是你,我实际上使用带适配器的GridView。这将抽象出布局更改的所有处理。您只需担心将数据映射到适当的视图。这个example将ImageViews映射到GridView,但没有理由不能在GridView中映射到包含数据的TextViews。此外,因为您正在使用适配器,所以您可以利用所有Loader类,它们是异步加载功能。
此外,使用该方法可以让您的程序在数据集更改时轻松适应。您可能希望将来向表中添加更多数据,这种方法可以让您轻松地执行此操作,而无需不断更改xml布局。
答案 1 :(得分:0)
观看次数是否有变化?如果不。最好的方法是使用已存在的视图并更新其值。尽量避免重新创建/重新翻译视图,因为这是一项昂贵的任务。