gpt4 book ai didi

java - 在整个 Android Java 项目中读取和修改列表的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 16:33:43 26 4
gpt4 key购买 nike

我有以下列表:

List<Map<String, String>> items = new ArrayList<Map<String, String>>();

它填充了有关我的应用程序负载的数据。我需要在整个应用程序、大多数 Activity 和 Fragments 中使用它,并读取和修改数据。

在没有太多复杂性的情况下实现全局化的最佳和最简单的方法是什么?

注意:由于在 Stack Overflow 上无法解释的原因,这更多地使用列表,而不是作为具有属性的自定义对象。

最佳答案

其他帖子都没有捕获重点。当然,他可以将列表存储为实例成员并使用 getter 和 setter 访问它,但是哪个对象拥有该成员?

您可以按照建议使用静态,但有更好的方法......只需将其卡在您的应用程序类上即可。创建一个扩展 Application 的类,并在其中添加实例,

public class MyApplication extends Application { 
private List<Map<String, String>> items = new ArrayList<Map<String, String>>();

public List<Map<String, String>> getItems() {
return items;
}

public void setItems(List<Map<String, String>> items) {
this.items = items;
}
}

将应用程序类配置到 list 中,

<application
android:name=".MyApplication"
...

现在,在您的 Activity 或服务中,就这样做,

List<Map<String, String>> items = ((MyApplication)getApplication()).getItems();

从你的 fragment 中,执行此操作,

List<Map<String, String>> items = ((MyApplication)getActivity().getApplication()).getItems();

好处是该对象与您的应用程序具有相同的生命周期。当您的应用程序的任何部分处于 Activity 状态时它都存在,并与您的应用程序一起进行 GC。

关于java - 在整个 Android Java 项目中读取和修改列表的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11657419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com