首页 > 解决方案 > 通过另一个活动向活动发送价值

问题描述

我正在为我的 Rock Paper Scissors 游戏进行更新(我知道这是一个简单的概念,之前已经完成但仍然如此),更新包括布局和编程的巨大变化。

到目前为止,我有三个工作活动;MainMenu、SinglePlayer、SettingsActivity

当前的工作方式是用户将更改 SettingsActivity 中的设置(背景、振动等),当用户点击主菜单按钮时,它将捆绑所有值(浮动背景编号、布尔振动)并将其发送过来到 MainMenu 活动。MainMenu 然后将解包这些值并保存它们,因此当用户打开 SinglePlayer 或任何其他活动时,它可以将适当的值发送到该活动。

当用户想要重置 SinglePlayer 分数计数器时,问题就出现了......

这是有效的:用户在设置中按下“重置分数” -> 用户按下主菜单按钮 -> 用户打开单人游戏(分数重置,一切正常)

以下是不起作用的:用户在设置中按下“重置分数” -> 用户按下主菜单按钮 -> 用户打开单人游戏/退出应用程序以外的其他活动 -> 用户返回主菜单 -> 用户进入单人播放器(分数不会重置)

主菜单保存除 resetScore 布尔值以外的所有值(因此,每次打开 SinglePlayer 时,分数计数器都不会收到“resetScore = true;”)。

我不是在尝试做广告,但如果您在按照我的描述时遇到问题,请尝试按照上面在应用程序中提供的步骤进行操作:https: //play.google.com/apps/testing/com.simplegames.chris.rockpaperscissors20

标签: javaandroid

解决方案


这可能被认为是“黑客”,但这对我有帮助。

按下“重置分数”按钮后,SinglePlayer Activity 立即打开以重置分数,然后发送回设置 Activity。它发生得如此之快,以至于它甚至看起来都没有离开设置活动。

我会删除这个问题,但谁知道......其他人(或将来的我)可能需要它?


推荐阅读