我有 4 项 Activity 。从家庭 Activity 中,您可以导航到其他 3 个 Activity 。该应用程序有声音,并且每个 View 上都有一个用于静音的按钮。当我从家庭 Activity 中打开 3 个 Activity 之一时,“静音与否”值将通过intent.putExtra 等传输...当我在家庭 Activity 中静音时,它工作正常,但是如何home-activity 是否知道我是否在 3 个 Activity 之一中进行了更改并静音,并且当我使用后退按钮返回时也静音?这是覆盖后退按钮的正确方法吗?
感谢您的帮助!
最佳答案
在回答您的问题时,您需要开始每项 Activity 以获得结果。说你有 A -> B -> C -> D 每个都会开始计算结果。然后您可以在完成任何 Activity 之前设置结果。可以找到这方面的示例 here .
但是,我想我知道一个更简单的方法。如果我错了请纠正我,但是声音是否静音是否适用于整个应用程序?如果是这样,只需在首选项中设置一个 boolean 值,然后在每个 Activity 中检查它。您可以这样做:
将变量放入首选项:
Boolean shouldBeep = true;
//inside the mute/unmute button listener(or whatever)
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("shouldBeep", shouldBeep);
editor.commit();
然后检索该值:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean shouldBeep = settings.getBoolean("shouldBeep", false);
关于java - 返回导航时传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13461655/