Я делаю приложение, которое меняет цвета фона, но то, что я хочу сделать теперь, это использовать alertDialog и мою проблему, так это то, что когда я меняю экран, это не сохраняет последнее изменение, появляется предупреждениеDialog еще раз. Я использую это, но я не знаю, если я делаю правильно ... Я использую getPreferences, потому что мне нужно, чтобы получить мою деятельность по умолчанию SharedPreferencesДиалог оповещений с предпочтениями
// SharedPreferences preferences = getPreferences(MODE_PRIVATE);
// int storedPreference = preferences.getInt("storedInt", 0);
// SharedPreferences.Editor editor = preferences.edit();
// editor.putInt("storedInt", storedPreference);
// editor.commit();
new AlertDialog.Builder(this)
.setTitle("Alert Dialog")
.setMessage("Startup Button Visibility:")
.setPositiveButton("Hidden", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if(buttonVisible == true)
{
myLayout2.setVisibility(View.INVISIBLE);
}
else
myLayout2.setVisibility(View.VISIBLE);
// Toast.makeText(getApplicationContext(), "Hidden was clicked", Toast.LENGTH_LONG).show();
// // continue with delete
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
})
.setNeutralButton("Visible", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
/**
* Showing alert dialog
*/
.show();
что вы хотите точно? почему вы сначала получаете Скрытый и снова устанавливаете после этого без каких-либо изменений? –
Я уже сделал приложение, которое меняет цвет фона после нажатия кнопки, и с щелчком на экране также могут появляться и исчезать кнопки, и теперь я использую alertDialog, который запустит режим (видимые, скрытые кнопки или отменить), но моя проблема возникает после того, как я нажал, например: «Скрытый», он работает, но если я изменил ориентацию, снова появится alertDialog:/ – jaimito
Если вы измените ориентацию своего устройства, вы снова заново создаете свою активность. Вы можете использовать переменную, чтобы сказать, закончилось ли диалоговое окно так, как вы хотели, и сохраните эту переменную с помощью 'onsaveInstanceState' и восстановите ее в своем' onRestoreInstance' или 'onCreate', используя ваш класс' Bundle', если ваша переменная определена в 'Bundle' со значением, которое вы ранее определили, тогда вы не увидите диалог. – zozelfelfo