存储最终列表数据的最佳实践

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 的示例。

希望对您有所帮助。