我是android編程的新手。我有一個小問題。當我點擊ImageView時,我將該ImageView設置爲不可見,並將Button設置爲可見。我的問題是,你如何保存這個?例如,我點擊ImageView,Button顯示並且ImageView消失。然後我退出應用程序並重新進入同一活動,並且我希望Button保持在那裏。我該如何去做呢?如何在android中保存結果?
謝謝!
我是android編程的新手。我有一個小問題。當我點擊ImageView時,我將該ImageView設置爲不可見,並將Button設置爲可見。我的問題是,你如何保存這個?例如,我點擊ImageView,Button顯示並且ImageView消失。然後我退出應用程序並重新進入同一活動,並且我希望Button保持在那裏。我該如何去做呢?如何在android中保存結果?
謝謝!
使用共享首選項來保存狀態,即在您的情況下說一個布爾值來指示當您退出應用程序時imageview是否可見。
啓動應用程序時,請使用此值並相應地執行操作。
對於共享偏好的使用,
How to use SharedPreferences in Android to store, fetch and edit values
您可以在狀態,當你離開你的應用程序onPause()
或存儲在共享的偏好上的click事件,並可以從偏好得到結果回到上onCreate()
方法
要存儲在共享偏好數據(的onPause()或在點擊事件):
SharedPreferences prefs = getSharedPreferences("yourPrefName", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
// save values
editor.putBoolean("isButtonVisible", true);
editor.commit();
從sharedPr獲取數據efs(在onCreate()中):
SharedPreferences prefs = getSharedPreferences("yourPrefName", MODE_PRIVATE);
boolean btnstatus = prefs.getBoolean(Constants.IS_LOGIN, false);
if (btnstatus) {
//put the code to show button and hide imageview
}
感謝您的快速回復!如果你不介意,可以給我一個樣本代碼嗎? – WhiplashOne 2013-03-20 17:08:20
是的,我在編輯我的答案。只需要給我一點時間plz – 2013-03-20 17:08:58
你不應該依賴onDestroy()被調用,因爲它可能不是。 Me先生使用onPause()正確完成了它。 – 2013-03-20 17:11:06
使用SharedPreferences
。這裏是一個關於如何使用它們的好教程。 example
但基本上你是好去通過將此代碼添加到您的Activity
private boolean isVisible;
@Override
public void onCreate(Bundle myBundle){
super.onCreate(myBundle);
isVisible = getPreferences(MODE_PRIVATE).getBoolean("visible", true);
.... your code
if (isVisible){
// show ImageView
} else {
//don't
}
}
}
public void onPause(){
if(isFinishing()){
getPreferences(MODE_PRIVATE)
.edit().
putBoolean("visible", isVisible).commit();
}
}
非常感謝!對此,我真的非常感激! – WhiplashOne 2013-03-20 17:11:23
感謝您的快速回復!如果你不介意,可以給我一個樣本代碼嗎? – WhiplashOne 2013-03-20 17:08:56