类似于匹配游戏



我想做点什么,那里有 4 个按钮。只有按下 2 个匹配的按钮才会成功。目前我只知道如何处理一个按钮点击,但我不知道如何做到这一点,如果我按下一个按钮,然后按下另一个按钮。失败或成功取决于按下的按钮。

我将使用什么来继续实现它?

如果您的意思是要检测同时按下两个按钮,则可以为按钮设置OnTouchListener并检测每个按钮何时按下或松开。通过一些簿记,您可以检测用户是否同时按下了两个匹配的按钮。

如果要跟踪连续的按钮单击,则需要某种方法来识别上次单击的按钮。有几种方法可以做到这一点。一种是为每个按钮分配不同的OnClickHandler(或不同的android:onClick方法)。另一种方法(在我看来更好)是为每个按钮分配一个唯一的标签值。在 XML 中,标记将是一个字符串,然后您可以使用 Integer.parseInt() 将其解析为 int 值;在代码中,它可以是整数。然后,单击处理程序确定按钮的标记值,并在程序逻辑中使用该值。

您将使用它的方式如下。在游戏类中为上次单击的按钮定义一个字段。在单击任何按钮之前,它的值应为 -1(指示没有按钮)。然后,当您获得按钮单击时,确定其标识(通过标记或调用的单击处理程序)。检查最后一个按钮和当前按钮是否形成正确的顺序。如果没有,则将最后一个按钮设置为当前按钮。

您可以获取单击事件的当前按钮 ID,因此您可以为先前单击的按钮维护一个整数值。 并将当前按钮单击与单击的上一个按钮进行比较并执行任务。

根据您关于每个按钮启动一个新活动的评论,您可能需要考虑使用单个活动,只需更改视图即可。

特别是如果上一个活动中的特定按钮单击影响新活动,则它们似乎真的应该是相同的活动。

但是,如果您确实想使用多个活动,您有以下几种选择:

  1. 储存在共享偏好设置中按下的最后一个按钮。
  2. 将按下的最后一个按钮存储在文件或 SQLite 数据库中
  3. 启动新活动时,请使用 intent.putExtra() 存储最后按下的按钮,以便新活动可以通过 getIntent().getExtra() 访问它

最新更新