Java Finish()未在PreferenceActivity中执行任何操作
要清除问题,我需要重新启动SettingsActivity.class。除了finish()之外,其他一切都正常,它似乎根本不起作用。我的代码创建了一个新的SettingsActivity.class,但不会破坏旧的SettingsActivity.classJava Finish()未在PreferenceActivity中执行任何操作,java,android,sharedpreferences,restart,preferenceactivity,Java,Android,Sharedpreferences,Restart,Preferenceactivity,要清除问题,我需要重新启动SettingsActivity.class。除了finish()之外,其他一切都正常,它似乎根本不起作用。我的代码创建了一个新的SettingsActivity.class,但不会破坏旧的SettingsActivity.class private SharedPreferences.OnSharedPreferenceChangeListener listener1 = new SharedPreferences.OnSharedPreferenceChangeLi
private SharedPreferences.OnSharedPreferenceChangeListener listener1 = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (key.equals("tema1")) {
finish();
startActivity(getIntent());
}
if (key.equals("tema2")) {
finish();
startActivity(getIntent());
}
if (key.equals("notification")) {
recreate();
}
因此,问题是finish()不起作用。它根本不会破坏活动。正如我所说的,其他一切都起作用
编辑
Finish()仍然不起作用,我想得到一个答案,但我设法通过使用intentflag“clear top”来解决startActivity意图。实现了我想要的效果,甚至不使用finish()。您可以重新创建意图,而不是使用相同的旧意图,因此请尝试
startActivity(YourActivityName.this,YourActivityName.class)
并调用finish()
after@PavneetSingh出现错误“活动中的startActivity不能应用于SettingsActivity”。请将完整错误添加到end@PavneetSingh这是完全的错误。(Activity.this,Activity.class)带红色下划线,鼠标悬停时会显示我写的内容。@PavneetSingh那么“OnSharesReferenceChanged”就永远不用了?你能给出一个正常的答案,包括你的意思吗?