如何从外界作出“刷新”Android的主要活动? [英] How to make the android main activity to 'reload' from outside?
问题描述
我有示出了从数据库中获取一些数据的机器人主要活动。现在我有一个 preferenceActivity
其中,当用户想要改变一些preference或删除数据库的内容所示。但是,如果是这样的话,我怎么强制从类中的刷新或主要活动的一些主要活动外?
I have an android main activity showing some data which are taken from the database. Now I have a PreferenceActivity
which is shown when the user wants to change some preference, or delete the content of the database. But if this is the case, how do I force a 'reload' or something of the main activity from a class outside the main activity?
推荐答案
设置在 OnShared preferenceChangeListener
监听你的 MainActivity
自动检测在preferences任何更改。
Set a OnSharedPreferenceChangeListener
listener in your MainActivity
to automatically detect any changes in the preferences.
<一个href=\"http://developer.android.com/reference/android/content/Shared$p$pferences.OnShared$p$pferenceChangeListener.html\"相对=nofollow>共享preferencesListener
public class MainActivity extends ... {
private SharedPreferences settings;
private SharedPreferences.OnSharedPreferenceChangeListener listener;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
settings = PreferenceManager.getDefaultSharedPreferences(this);
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
// Refresh display
refreshDisplay();
}
};
// Register the listener on the SharedPreferences
settings.registerOnSharedPreferenceChangeListener(listener);
// Other code
}
public void refreshDisplay() {
// Retrieve entries from sharedPreferences & display them, e.g
String prefValue1 = settings.getString("key1", "default value 1");
String prefValue2 = settings.getString("key2", "default value 2");
// Update UI with these values
}
}
编辑:
下面是如何你的 preferenceActivity
应该是:
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// R.xml.settings refers to the XML layout file named "settings"
// in your res/xml directory
addPreferencesFromResource(R.xml.settings);
}
}
这篇关于如何从外界作出“刷新”Android的主要活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!