Android: кнопка настроек нажата?

У меня есть экран общих настроек с настройками списка флажков и т. Д. Теперь я хотел бы добавить кнопку на экране общих настроек, чтобы при нажатии на нее появлялось диалоговое окно. Я делаю это, и выглядит идеально, чтобы сделать кнопку на экране настроек:

<Preference
        android:key="key"
        android:summary="make pop up dialog"
        android:title="dialog" />

Но теперь я не знаю, как получить, когда он нажал, я попытался, и я не могу использовать onSharedPreferenceChanged, потому что никакие настройки не меняются, просто нажал. Итак, что бы я сделал, чтобы нажать кнопку предпочтения? Спасибо за помощь.

1 ответ

Во-первых, ваш PreferenceActivity должен реализовать Preference.OnPreferenceClickListener, Затем под onCreate вызов функции

findPreference(YOUR_KEY_PREF).setOnPreferenceClickListener(this);

и добавить эту функцию

@Override
public boolean onPreferenceClick(Preference preference) {
    String key = preference.getKey();
    if(key.equals(YOUR_KEY_PREF)){
        showYourDialog();
        return true;
    }
    return false;
}

В твоем случае, YOUR_KEY_PREF является "key"

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