【问题标题】:Variable values reset after minimizing app最小化应用程序后重置变量值
【发布时间】:2014-06-06 06:52:10
【问题描述】:

我正在制作这个作为游戏计算器的安卓应用。计算器会告诉您您选择的所有物品的成本,还会显示总价。

例如,如果您在微调器上选择 AR,它会显示成本 1200。如果您选择 WS,它会显示成本为 2400。

但是,如果为大量团队(30 分钟或更长时间)最小化此应用程序,则价格值将重置为默认值 (0)。微调器仍在 AR 上,但价格显示为 0。我需要再次单击微调器,然后它才会重新计算值。

有没有办法让我刷新它或防止价值丢失?

【问题讨论】:

  • minimizing,在 Android 中?
  • @Simon 抱歉,我不知道正确的术语。我正要说标签,但那似乎更糟。

标签: android


【解决方案1】:

这是因为 View 被刷新了,因为当你点击主页按钮时,它会调用 onPause() 方法,然后如果你打开另一个应用程序,它会在其他应用程序中授予一些内存,而不是返回到 @ 987654323@,由于android的内存管理,会转到onCreate()

解决方案:

您需要将所有数据保存在protected void onSaveInstanceState(Bundle outState) { 方法的saveInstanceState 中,然后在 Oncreate 中获取所有保存的数据

【讨论】:

    【解决方案2】:

    您需要将数据保存在 saveInstanceState 方法中,然后在 onRestoreInstanceState 中恢复。之后,您需要填写视图中的字段。

    Example

    【讨论】:

      【解决方案3】:

      这是由于移动设备资源相对有限的特性。

      您应该将数据保存在更持久的地方。您可能会发现这篇关于一般Data Storage 的文章很有用。这个问题也应该是相关的:How do I save an Android application's state?

      【讨论】:

        【解决方案4】:

        onPause in Activity - 将您的值保存在 SharedPreferences 或 Application(不是 Activity)中。

        onResume in Activity - 从此值更新您的微调器的选择项。

        【讨论】:

          【解决方案5】:

          您可以将数据保存到 Shared Preferences 并在 onResume() 方法中将该值设置回相应的字段。

          Changed text at the runtime in textview but after relaunching application retrieving default data in textview in android

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-10-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多