2017-04-24 105 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

相关问题