通过另一个活动修改计数

时间:2011-09-08 16:36:30

标签: java android

如果答案是正确的话,我做了一个将计数器增加1的活动,如果答案错误,我将计数器减1。我有两个不同的计数器,我会交替修改它们。

到目前为止一切正常,但我想添加它,以便如果答案是正确的,则打开一个新活动。在这里,用户将决定是否增加计数器。

到目前为止,我已经花了一天时间,但没有成功。

2 个答案:

答案 0 :(得分:0)

我在手机上查看问题所以无法滚动代码,所以也许我不完全理解你的问题。

我的建议是为你的新活动添加一个观察者,观察者可以有两个方法{onIncremenet()和onDecremenet()},这些方法将根据用户操作被调用。在您的观察者的实现中,您可以保持对计数器的引用,并根据用户操作的增量或减少它。

答案 1 :(得分:0)

因为你只需要两个计数器,我将提出一个非常简单的解决方案,而不是“花哨”或“面向对象”,只是简单易懂。

在主要活动的类中使用两个静态变量,例如:

public static int player1Score, player2Score;

在开始其他需要它们的活动之前设置它们:

player1Score = player1Info.playerScore;
player2Score = player2Info.playerScore;
startActivityForResult(i, 1);

直接在其他活动中使用它们。在onActivityResult()中回写它们的值:

player1Info.playerScore = player1Score;
player2Info.playerScore = player2Score;

在回写之前,您还可以检查其值是否已更改:

if ( player1Info.playerScore != player1Score )
    ...

多数民众赞成。忘记所有复杂的句子,如“观察者设计范式”,他们不能在这里给你任何东西,但却浪费时间。

编辑:

如果由于某种原因你不想使用静态变量,你可以继承Application(android.app.Application)并在那里声明普通变量。然后在每个活动中,您可以通过getApplication()获取应用程序对象,并在那里访问您的公共变量。