片段之间的静态 ArrayList

Posted

技术标签:

【中文标题】片段之间的静态 ArrayList【英文标题】:Static ArrayList between Fragments 【发布时间】:2017-12-02 02:38:00 【问题描述】:

我在我的活动中定义了一个静态 ArrayList,它被其中的几个片段使用。这个 ArrayList 有时会被修改。

这是不好的做法吗?我应该改用 bundles/SQLite 吗?

【问题讨论】:

【参考方案1】:

是的,静态总是不好的(您应该尽可能避免使用它),因为即使您无权访问 Activity 实例,您也可以像 SomeActivitiy.list.removeAll(); 那样修改它。

我建议使用包含您的数据的 DataProvider,您只需将其注入您的片段中。

另一方面,SQLite 选项应该只在你必须持久化数据时使用,所以你不必在使用后删除它。

【讨论】:

我现在开始研究 DataProviders,感谢您提供的信息!【参考方案2】:

考虑使用公共字段ArrayList,您的片段可以轻松使用或修改它。

但是,请先阅读此内容。 Public field or Getter/Setter

【讨论】:

甚至没有考虑到这一点...看起来要简单得多。我现在去看看,谢谢

以上是关于片段之间的静态 ArrayList的主要内容,如果未能解决你的问题,请参考以下文章

片段内部静态类和gradle问题

无法对非静态方法 getAssets() 进行静态引用 - 无法在片段中播放音频

以编程方式将片段添加到android中的框架布局

错误:这个片段内部类应该是静态的 [ValidFragment]

Android片段中的EditText值不刷新

如何从静态片段中显示Admob插页式广告?