片段之间的静态 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的主要内容,如果未能解决你的问题,请参考以下文章
无法对非静态方法 getAssets() 进行静态引用 - 无法在片段中播放音频