В приложении, которое я создаю, у меня есть инструкция «if», где, если две строки сохраняются в определенной строке, появляется AlertDialog. Эти строки останутся неизменными для некоторых пользователей, поэтому при появлении этого параметра AlertDialog появляется всякий раз, когда запускается действие, в котором установлен ALertDialog. Код (я не имею setNegativeButton как еще):Есть ли способ полностью отключить AlertDialog?
private void SetWarning() {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Warning!");
alert.setMessage(R.string.Warning);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//No action needed; just close the AlertDialog.
}
});
alert.show(); }
Вот сегмент моего кода, который делает этот AlertDialog появляются:
SharedPreferences sharedPreferences = getSharedPreferences("MY_PREF", MODE_PRIVATE);
String s = sharedPreferences2.getString("MEM1", "");
String s2 = sharedPreferences2.getString("MEM2", "");
if(s.equals("String1") && s2.equals("String2"))
SetWarning();
Есть ли способ, чтобы сделать «alert.setNegativeButton» метод, когда пользователь нажимает на него, AlertDialog НИКОГДА не появится снова? Я думаю о том, что каким-то образом каким-то образом реализовала бы другую SavedPreferences, чтобы сохранить выбор пользователей, а затем предотвратит появление AlertDialog снова. Пока не повезло. Я искал, чтобы ничего не найти, кроме тех, кто спрашивает, как отключить кнопки в AlertDialog.
Спасибо!
Новый обновленный код:
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//set sharedpreferences boolean called DONTSHOWAGAIN to true;
SharedPreferences sharedPreferences2 = getSharedPreferences("MY_PREF", MODE_PRIVATE);
Boolean dontShowAgain = sharedPreferences2.getBoolean("dontShowAgain ", false);
SharedPreferences.Editor ed = sharedPreferences2.edit();
ed.putBoolean("dontShowAgain", true);
ed.commit();
}
});
alert.show(); }
private void StringWarning() {
SharedPreferences sharedPreferences2 = getSharedPreferences("MY_PREF", MODE_PRIVATE);
String s = sharedPreferences2.getString("MEM1", "");
String s2 = sharedPreferences2.getString("MEM2", "");
if(s.equals("String1") && s2.equals("String2")){
if(!dontShowAgain){
SetWarningExamConflict();
}
}
Большое вам спасибо! На данный момент у меня проблемы с этим. Я определенно не забуду, чтобы попасть в метку «Лучший ответ»! – NewGuyChris
, пожалуйста, посмотрите, что я изменил 'getString' на' getBoolean'. Типо на моей стороне. – ariefbayu
Ах! Спасибо! Он исправил каждую проблему! Время проверить это :) – NewGuyChris