[英]Alert Dialog with preferences
我正在做一個更改背景顏色的應用程序,但是現在我想做的是使用alertDialog,而我的問題是,當我更改屏幕時,它沒有保存最后的更改,因此再次顯示alertDialog。 我正在使用它,但是我不知道我做的是否正確...我正在使用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();
根據您對問題的評論。 即使您更改了活動的方向,您似乎仍希望保留其活動狀態。 將此添加到活動括號內的清單中。
android:configChanges="orientation|screenSize"
更改方向會重新創建活動。
問題是,當您每次更改方向時都會調用onCreate(),但是您可以通過在Activity標簽中的AndroidManifest文件中添加Activity的configChanges屬性來避免重新創建Activity。
android:configChanges =“ keyboardHidden | orientation”
當您更改屏幕的方向時,發生了以下事件。
===方向改變===
onSaveInstanceState-> onPause-> onStop-> onCreate-> onStart-> onRestoreInstanceState-> onResume。
因此,當您想要保存狀態時,可以使用onSaveInstanceState()
。 通常,您可以在onCreate()
恢復狀態。
protected void onSaveInstanceState(Bundle icicle) {
super.onSaveInstanceState(icicle);
icicle.putString("param", value);
}
並恢復:
public void onCreate(Bundle icicle) {
if (icicle != null){
value = icicle.getString("param");
}
}
因此,您可以保存Color值或任何所需的值,然后將其恢復到onCreate()
並設置為AlertDialog
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.