存储最终列表数据的最佳实践
Best practice for storing final List data
我有自定义ListView
,每个项目包含两个图标、文本、描述等。它是静态数据,但我有几个列表要显示。
在那一刻,我将所有这些保存在最后的 ArrayList
秒中,如下所示:
public static final int ACTION_MAIN = 1;
public static final int ACTION_LEFT = 2;
private static final List<ModelMenu> list = new ArrayList<ModelMenu>(){{
add(new ModelMenu(ACTION_MAIN , R.drawable.icon_main, R.drawable.image_main, R.string.main, R.string.main_description, false));
add(new ModelMenu(ACTION_LEFT , R.drawable.icon_left, R.drawable.image_left, R.string.left, R.string.left_description, false));
}};
而不是将 List
传递给适配器。在这种情况下,我使用常量 ACTION_MAIN, ACTION_LEFT
,等等。将其设置为视图 ID,并使用它来了解 view.getId()
在 OnItemClickListener
中单击了哪个项目
可以吗?或者更好地用于前。 XMLlike done here
更新 0: 找到 one more 选项,但在这种情况下我们需要保持所有资源的顺序...
或任何其他选项更可取?
更新 1:
找到另一种保存操作的方法:
<resources>
<item type="id" name="menu_home"/>
<item type="id" name="menu_login"/>
</resources>
修饰符为final
时不能修改变量的值。
选中 this,这是一个使用自定义适配器填充 ListView
并扩展 BaseAdapter
的示例。
希望对您有所帮助。
我有自定义ListView
,每个项目包含两个图标、文本、描述等。它是静态数据,但我有几个列表要显示。
在那一刻,我将所有这些保存在最后的 ArrayList
秒中,如下所示:
public static final int ACTION_MAIN = 1;
public static final int ACTION_LEFT = 2;
private static final List<ModelMenu> list = new ArrayList<ModelMenu>(){{
add(new ModelMenu(ACTION_MAIN , R.drawable.icon_main, R.drawable.image_main, R.string.main, R.string.main_description, false));
add(new ModelMenu(ACTION_LEFT , R.drawable.icon_left, R.drawable.image_left, R.string.left, R.string.left_description, false));
}};
而不是将 List
传递给适配器。在这种情况下,我使用常量 ACTION_MAIN, ACTION_LEFT
,等等。将其设置为视图 ID,并使用它来了解 view.getId()
OnItemClickListener
中单击了哪个项目
可以吗?或者更好地用于前。 XMLlike done here
更新 0: 找到 one more 选项,但在这种情况下我们需要保持所有资源的顺序...
或任何其他选项更可取?
更新 1: 找到另一种保存操作的方法:
<resources>
<item type="id" name="menu_home"/>
<item type="id" name="menu_login"/>
</resources>
修饰符为final
时不能修改变量的值。
选中 this,这是一个使用自定义适配器填充 ListView
并扩展 BaseAdapter
的示例。
希望对您有所帮助。