我宣布我PreferenceFragment
一个SettingsActivity
这样AndroidRestart活动从PreferenceFragment
public class ChordsSettings extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new MyPreferenceFragment())
.commit();
}
public static class MyPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings_preferences);
}
}
}
我做到了这样,并在MainActivity
顶部没有创建一个片段,因为我需要能够使用内退按钮从SettingsActivity
到MainActivity
,这就像是实现这一目标的唯一方法。
一旦首选项发生变化,我需要重新启动MainActivity
。
我试过从preferenceFragment
发送Broadcast
,但sendBroadcast()
不能从静态上下文中使用。有没有其他办法可以实现这一目标?
您是否尝试过使用意图调用活动本身并完成之前的活动? – UmarZaii
是的,但我也需要重新启动它。因为否则当我从'SettingsActivity'返回时,应用程序将关闭 – Daniele
我认为你可以这样做。当您从MainActivity单击按钮时,您应该完成活动并打开设置活动。当你点击接受按钮保存参数时,你应该完成SettingsActivity并启动MainActivity。 – UmarZaii