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().

0 ответов

Другие вопросы по тегам