如何将SharedPreference绑定到android中的xml布局?

时间:2015-12-14 03:27:35

标签: android xml android-layout sharedpreferences

我有一个WeatherData类,我在通过REST API调用接收天气更新后填充。我在WeatherData中保存了SharedPreferences个字段。

现在有一个fragment在UI上显示这些数据。我想将WeatherData类绑定到UI。我需要,如果WeatherData中的任何SharedPreferences发生了变化,我会立即更新用户界面。

如何将SharedPreference绑定到XML布局?

2 个答案:

答案 0 :(得分:0)

您可以使用prefs.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { //update my layout } });

git sync

答案 1 :(得分:0)

定义以下变量

public static ObservableInt someCounter = new ObservableInt(getPrefs().getInt("some_counter", 0)) { @Override public void set(int value) { super.set(value); getPrefs().edit().putInt("some_counter", value).commit(); (apply() might be more suitable depending on your use) } };

然后在xml布局中导入包含该静态变量的类,并像引用任何其他可观察对象一样引用它

我写了一篇文章,更深入地介绍了这一点。 https://mpetersen3.wordpress.com/2017/04/08/data-binding-with-shared-prefs/