2017-04-24 104 views
-2

我對編程相當新穎,目前正試圖在我的大學爲一門課程編寫一個小應用程序。 所以我有第一個活動,通過點擊列表元素打開第二個活動。在這第二個活動中有兩個按鈕。通過點擊第一個我使他們都通過使用setVisibility(View.GONE)消失,但問題是,當我關閉應用程序,並重新打開它們都重新出現。如果我按下後退按鈕,然後重新打開第二個活動,也會發生這種情況。 我嘗試閱讀關於生命週期的內容,但它並不清楚它的工作原理。 在此先感謝您的幫助。當我關閉應用程序並重新打開它時,如何保持按鈕不可見/不見?

+0

將他們的狀態保存在某處。就像在文件中或SharedPreferences中一樣。並檢查狀態是否顯示 - 然後顯示它們。如果是隱藏 - 隱藏它們。 –

回答

2

嘗試使用Shared Preference,在onCreate方法中聲明它。

SharedPreferences sharedPref = 
getActivity().getPreferences(Context.MODE_PRIVATE); 

在第二個Activity的onCreate方法中讀取布爾變量。

Boolean highScore = sharedPref.getBoolean("show", true); 

保存,存儲按鈕是否應該顯示或不

Boolean show = false; // Controlled by your button events 

SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putBoolean("show", show); 
editor.commit(); 
+0

謝謝。我做了稍微不同,但它現在的作品!我還設法通過點擊同一個按鈕來添加一個字符串到第二個活動中的字符串列表中,但同樣的問題出現了,即添加的字符串在關閉應用程序時消失。我在某處讀到它可以通過SharedPreferences再次解決,但我不知道如何。你能幫我嗎?提前致謝。 – strobe

+0

您可以使用共享首選項來存儲字符串數組。閱讀此:http://stackoverflow.com/questions/3876680/is-it-possible-to-add-an-array-or-object-to-sharedpreferences-on-android – Sky

0

這是因爲你不保存按鈕的狀態布爾變量。最好的辦法是使用SharedPreferences。看看這個link

相關問題