Finish() ничего не делает в PreferenceActivity
Чтобы прояснить ситуацию, я хочу, чтобы мой SettingsActivity.class перезапустился. Все работает, кроме finish(), которое, похоже, не работает вообще. Мой код создает новый файл SettingsActivity.class, но не разрушает старый.
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 () не работает. Это просто не разрушает деятельность. Как я уже сказал, все остальное работает.
Edit Finish () по-прежнему не работает, и я хотел бы получить ответ на этот вопрос, но мне удалось обойти эту проблему, используя флаг intentflag "clear top" для намерения startActivity. Достигает того же эффекта, что и я, даже без использования finish().