2013-03-20 25 views
0

我是android編程的新手。我有一個小問題。當我點擊ImageView時,我將該ImageView設置爲不可見,並將Button設置爲可見。我的問題是,你如何保存這個?例如,我點擊ImageView,Button顯示並且ImageView消失。然後我退出應用程序並重新進入同一活動,並且我希望Button保持在那裏。我該如何去做呢?如何在android中保存結果?

謝謝!

回答

0

使用共享首選項來保存狀態,即在您的情況下說一個布爾值來指示當您退出應用程序時imageview是否可見。
啓動應用程序時,請使用此值並相應地執行操作。

對於共享偏好的使用,
How to use SharedPreferences in Android to store, fetch and edit values

+0

感謝您的快速回復!如果你不介意,可以給我一個樣本代碼嗎? – WhiplashOne 2013-03-20 17:08:56

0

您可以在狀態,當你離開你的應用程序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 
} 
+0

感謝您的快速回復!如果你不介意,可以給我一個樣本代碼嗎? – WhiplashOne 2013-03-20 17:08:20

+0

是的,我在編輯我的答案。只需要給我一點時間plz – 2013-03-20 17:08:58

+0

你不應該依賴onDestroy()被調用,因爲它可能不是。 Me先生使用onPause()正確完成了它。 – 2013-03-20 17:11:06

2

使用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(); 
} 
} 
+0

非常感謝!對此,我真的非常感激! – WhiplashOne 2013-03-20 17:11:23