Как создавать AlertDialog, который открывался бы единственный раз?

У меня есть основная функция одного AlertDialogчто является той, которую они увидят далее:

public AlertDialog guiarapida() {
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

    builder.setTitle("Bienvenido/a")
            .setMessage("Te seguiremos que pases por nuestra guía rápida ")
            .setPositiveButton("No volver a preguntar",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    })
            .setNegativeButton("Ir a guía rápida",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    });

    return builder.create();
}

Тема состоит в том, что я хочу, чтобы он был AlertDialog появитесь, когда пользователь войдет в меню начала впервые, и кликнув например во "вновь том, чтобы не спрашивать" не являйтесь следующим разом, который инициализирует app. Какая-то подсказка?

2
задан 28.12.2016, 22:13
0 ответов

Я делаю тебе предложение используя ShredPreferences, то, что он делает далее, состоит в том, чтобы распределять ему стоимость в целое число, а именно, если уже он это пометил, дает ему стоимость 1, иначе дает ему стоимость 0. Это целое число это сохраняет в предпочтениях и завися сохраняемая стоимость будет показывать себе диалог:

РЕДАКТИРОВАНИЕ

Прежде всего, ты должен проверять, если существует уже сохраняемая стоимость:

private int valorGuardado; // Creas tu variable global en espera de los valores


SharedPreferences sp = getSharedPreferences("check_value", Activity.MODE_PRIVATE);

valorGuardado= sp.getInt("check_value_key",0);
if (valorGuardado== 0) {
    abrirDialogo();
} else {
   //No muestra el diálogo
}

Уже в твоих кнопках setPositivebutton и setNegativeButton ты распределяешь ему стоимость, соответствующую целому числу и посылаешь называть метод, который сохраняет предпочтения:

...

.setPositiveButton("No volver a preguntar",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                         valorGuardado= 1;
                         guardarPreferencias();

                        }
                    })
            .setNegativeButton("Ir a guía rápida",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                         valorGuardado= 0;
                         guardarPreferencias();

                        }
                    });

...

Метод guardarPreferencias(); где он будет содержать их необходимо, чтобы сохранять стоимость:

private void guardarPreferencias(){
    SharedPreferences guardar_cheked_alerta = getSharedPreferences("check_value", Activity.MODE_PRIVATE);
                    SharedPreferences.Editor editor = guardar_cheked_alerta.edit();
                    editor.putInt("check_value_key", valorGuardado);
                    editor.commit();
}

PD: Я это не протестировал, но смоги функционировать или давать тебе какую-то идею как, реализовывать это, если ты хочешь видеть больше относительно темы, ты можешь посещать Саред Преференсес

3
ответ дан 03.12.2019, 17:57
  • 1
    Спасибо, ты дал мне идею, но этот Диалог в твоем примере составлен из-за checkbox, хотя было бы возможно реализовывать почти того же namera с setPositiveButton и setNegativeButton –  28.12.2016, 21:31
  • 2
    ¡ Ох! Leí плохо xD Creí что твой diá logo tendrí в tí я шифрую checkbox. Мой có я говорю, что оно функционирует точно равно как без check , ú nico, что cambiarí эксперт - это в снимании if, который проверяет, если он помечен, и это valorCheck=1 ты перемещаешь это PositiveButton и valorcheck=0 в Negativebutton, можешь создавать mé все, кто содержал бы сохраняемого от данных, примера: GuardarPreferencias (); и ты это посылаешь, чтобы звонить в обеих кнопках, справедливый человек despué s распределения ему стоимости в целое число. :D –  28.12.2016, 21:55
  • 3
    así он, спасибо! –  28.12.2016, 21:56
  • 4
    Нет, которого @FelixBeeb, уже edité мой ответ. –  28.12.2016, 22:05
  • 5
    оно не функционирует, я буду искать ошибку... –  29.12.2016, 15:28

Теги

Похожие вопросы