Диалог оповещений не отображается - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь создать диалоговое окно с предупреждением при нажатии на Предпочтение на экране preferenceScreen.

Мой код выглядит следующим образом:

public class AlertDialogFragment extends DialogFragment {
    @NotNull
    public Dialog onCreateDialog(Bundle savedInstanceState){
        AlertDialog.Builder builder = new AlertDialog.Builder(Objects.requireNonNull(getActivity()));
        builder.setMessage(R.string.are_you_sure);
        builder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //something
            }
        })
        .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //something
            }
        });
        return builder.create();
    }
}

Я создал объект из этого класса и вызвал show(), но после запуска приложения и нажатия на настройки ничего не происходит.

Вот мой другой класс:

public class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {

    @Override
    public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey){
        setPreferencesFromResource(R.xml.prefs, rootKey);
    }
    @Override
    public void onSharedPreferenceChanged(SharedPreferences sp, String key){
        FragmentManager manager = getFragmentManager();
        AlertDialogFragment alert = new AlertDialogFragment();
        if(key.equals("logout")){
            if (manager != null) {
                alert.show(manager, "tag");
            }
        }
    }
}

У кого-нибудь есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...