Обнаружить отрицательное нажатие кнопки на EditTextPreference - PullRequest
0 голосов
/ 30 октября 2019

У меня есть PreferenceActivity с EditTextPreference. Я могу легко обнаружить положительное нажатие кнопки, используя OnPreferenceChangedListener. Однако слушатель никогда не вызывается, когда пользователь нажимает отрицательную кнопку.

Есть ли способ ее обнаружить? Спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

Вы не сможете обнаружить его, если не переопределите onDialogClosed(...) в EditTextPreference (при условии, что вы используете старую, а теперь устаревшую базовую версию настроек):

public class EditTextPreferenceNegative extends EditTextPreference {
    @Override
    protected void onDialogClosed(boolean positiveResult) {
        super.onDialogClosed(positiveResult); // this will notify the change listener for positive results

        if (!positiveResult) {
            // do something with your negative result
        }
    }
}

Обратите внимание, что этобудет вызван, даже если диалог закрыт без нажатия отрицательной кнопки. Если вы хотите обнаружить только отрицательную кнопку, вы можете переопределить метод onClick(...), который вызывается при нажатии любой из кнопок.

...