【发布时间】:2017-12-02 02:38:00
【问题描述】:
我在我的活动中定义了一个静态 ArrayList,它被其中的几个片段使用。这个 ArrayList 有时会被修改。
这是不好的做法吗?我应该改用 bundles/SQLite 吗?
【问题讨论】:
标签: android android-activity arraylist static fragment
我在我的活动中定义了一个静态 ArrayList,它被其中的几个片段使用。这个 ArrayList 有时会被修改。
这是不好的做法吗?我应该改用 bundles/SQLite 吗?
【问题讨论】:
标签: android android-activity arraylist static fragment
是的,静态总是不好的(您应该尽可能避免使用它),因为即使您无权访问 Activity 实例,您也可以像 SomeActivitiy.list.removeAll(); 那样修改它。
我建议使用包含您的数据的 DataProvider,您只需将其注入您的片段中。
另一方面,SQLite 选项应该只在你必须持久化数据时使用,所以你不必在使用后删除它。
【讨论】:
考虑使用公共字段ArrayList,您的片段可以轻松使用或修改它。
但是,请先阅读此内容。 Public field or Getter/Setter
【讨论】: