java - 如何使变量在所有 fragment 之间保持 Activity 状态

标签 java android android-studio android-fragments

我的问题是这样的,我有一个 fragment ,其中有一个菜单,并选择一个需要应用于我拥有的每个 fragment 的选项。

例如,在我的个人资料 fragment 中,我需要为用户启用某个团队,该团队将影响每个 fragment ,因为如果我在个人资料 fragment 中选择美国作为团队,我将需要查看信息关于该团队在我的其他 fragment 中。

我的问题是,用单例来做到这一点更好吗?因此,我在个人资料中创建了一个选择实例,然后在其他 fragment 中访问它。

这是一个好的方法还是我需要以其他方式做到这一点?

最佳答案

使用共享首选项可以更好地处理此问题。当您选择美国时,只需将其保存到共享首选项中的变量即可,该变量将在整个应用程序中可用。

 Button updateTeamName = findViewById(R.id.btnupdateTeamName);
 updateTeamName.setOnClickListener(new View.OnClickListener() {
 @Override
    public void onClick(View v) {
        SharedPreferences.Editor editor = sharedpreferences.edit();
        editor.putString("team", "United States");
        editor.commit();
    }
 });

当点击updateTeamName按钮时,它会在共享首选项中添加一个条目,该条目将在整个应用程序中可用。

关于java - 如何使变量在所有 fragment 之间保持 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53838250/

相关文章:

android - android dev 的 "stack tool"在哪里? (帮助调试 native C++ 代码)

android - Gradle项目同步在Android Studio 3.1中失败

java - 添加输入框,用户可以输入 1 到 6 之间的数字

java - 无法在两个 Activity 之间传递 int 值

android - 如何以千字节为单位获取视频的大小?

java - 按引用传递和按引用调用有什么区别?

android - 如何在android中以毫秒为单位获取当前日期时间

git - 无法提交更新的jar文件

java - Guava MultiMap 和 ConcurrentModificationException

Java Applet Com 端口