【问题标题】:How can I keep a button invisible/gone when I close the app and re-open it?当我关闭应用程序并重新打开它时,如何保持按钮不可见/消失?
【发布时间】:2017-09-20 21:37:30
【问题描述】:

我对编程很陌生,目前正在尝试为我大学的一门课程编写一个小应用程序。 所以我有一个第一个活动,它通过单击列表元素打开第二个活动。在第二个 Activity 中有两个按钮。通过单击第一个,我使用 setVisibility(View.GONE) 使它们都消失了,但问题是当我关闭应用程序并重新打开它时,它们都会重新出现。如果我按下后退按钮然后重新打开第二个 Activity,也会发生这种情况。 我尝试阅读有关生命周期的信息,但我并不清楚它是如何工作的。 提前感谢您的帮助。

【问题讨论】:

  • 将他们的状态保存在某处。就像在文件中或在 SharedPreferences 中一样。并检查状态是否显示 - 然后显示它们。如果是隐藏 - 隐藏它们。

标签: java android visibility


【解决方案1】:

发生这种情况是因为您没有保存按钮的状态。最好的办法是使用 SharedPreferences。看看这个link

【讨论】:

    【解决方案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();
    

    【讨论】:

    • 谢谢。我的做法略有不同,但现在可以了!我还设法通过单击同一按钮将字符串添加到第二个活动中的字符串列表中,但同样的问题出现了,即关闭应用程序时添加的字符串消失了。我在某处读到它可以通过 SharedPreferences 再次解决,但我不确定如何。你能帮我吗?提前致谢。
    • 您可以使用 Shared Preference 来存储 String 数组。阅读:stackoverflow.com/questions/3876680/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    相关资源
    最近更新 更多