我的问题是这样的,我有一个 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/