我真的是 Android 新手。
我有一个健身应用程序,用户可以在其中更改它的健身房。有几种 Activity 内容取决于用户的健身房。 一项 Activity 将展示健身房的锻炼情况,另一项 Activity 将展示健身房的运动员,等等......
What I would like, is to update all of these activities when the user change it's gym.
我知道如何在 iOS 中做到这一点,我只需要添加一个观察者 NotificationCenter.default.addObserver()
,但我真的不知道如何在 android 中做到这一点。
这可能吗?如果是,如何?
最佳答案
首先,根据 Google 的说法,您的应用程序应该只包含一个入口点,换句话说,一个 Activity
,并且有 Fragments
来表示应用程序的内容。
其次,为了解决您的问题,您可以使用 SharedPreferences .它有 onSharedPreferencesChangeListener();
可用于监听信息更新(例如 GYM 名称、您的自定义用户权限、用户角色等)。当 SharedPreferences
发生变化时,您会使用 Observer pattern 通知应用程序的所有依赖对象相应地更改它们的信息。 (P.S. 可以使用 RxJava 来实现)。您还可以在所有 Fragments
中实现 SharedPreferences
更改监听器并在那里更新它们的数据。
如果出于某种原因,你想坚持在你的应用程序中使用多个 Activities
,你仍然可以使用 SharedPreferences
,但你不需要监听变化,你只需在 Activity
onCreate();
方法中读取偏好值并相应地创建内容(更改项目可见性、颜色等)。
这是其中一种方法。希望这能让你朝着正确的方向前进。祝你好运:)
关于java - Android - 在其他 Activity 中启动多个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51718858/