Проверка настроек Android и отображение диалогового окна - PullRequest
1 голос
/ 12 февраля 2012

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

02-11 16: 50: 04.117: E / AndroidRuntime (3769): android.view.WindowManager $ BadTokenException: невозможно добавить окно -- токен android.os.BinderProxy@4055feb0 недействителен;ваша деятельность запущена?

С уважением, Сандип

1 Ответ

0 голосов
/ 18 июля 2012

Ваш вопрос старый, но был ранним хитом Google, так что, надеюсь, это кому-нибудь поможет.Вот что я сегодня взломал.

в вашем фрагменте:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);

        Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref");

        Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                Boolean rtnval = true;
                if (Your_Test) {
                    final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                    builder.setTitle("Invalid Input");
                    builder.setMessage("Something's gone wrong...");
                    builder.setPositiveButton(android.R.string.ok, null);
                    builder.show();
                    rtnval = false;
                }
                return rtnval;
            }
        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...