【问题标题】:Back from Activity2 to Activity1 without loosing score从活动 2 回到活动 1 且不失分
【发布时间】:2021-12-25 12:22:39
【问题描述】:

我有 2 个活动
MainActivity.java 和Winner.java 我在 MainActivity 中显示分数,还有一个名为“查看获胜者”的按钮将您带到第二个 Activity,但是当我按下返回按钮到 MainActivity 时,我的分数被重置为 0

我为A队按了+3分,现在当我从seconActivity回来时,分数显示为0

第二个活动[我没有添加任何东西,但问题出在这里] 当我按下后退按钮时。我回到我的 MainActivity 但得分为 0

但是分数还是3,因为我把分数设置为静态的,所以当我再次按下+3按钮时,分数变成了6,但是为什么这里显示为0

【问题讨论】:

  • 您正面临这个问题,因为您决定为您的问题使用错误的组件。对于此类问题,您应该使用 Fragments 和共享 ViewModel。活动不仅仅是屏幕/视图的视图控制器。

标签: java android android-developer-api


【解决方案1】:

发生这种情况是因为当您从一个活动导航到另一个调用的 onCreate 方法时,您丢失了保存在该页面中的最后一个变量。

你可以做这些事情:

  1. 使用静态变量将分数存储在一个类中
  2. 使用共享偏好存储分数
  3. 使用视图模型

【讨论】:

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