活动之间的Android Java计数器
问题描述:
我正在开发一个有两个活动的游戏。我有一个类,ModelGetter
,用这种方法:活动之间的Android Java计数器
public int getPoint {
return point++;
}
当我FirstActivity按下一个按钮,我称之为modelgetter.getPoint()
,当我在SecondActivity按下一个按钮,则返回0。我再打电话modelgetter1.getPoint()
,它仍然返回0 。我在SecondActivity中创建了一个新的ModelGetter
实例。
我不知道如何在不同的活动中使用相同的实例,并让我的变量始终增加。
答
如果你正在创建一个实例,那么数据将是不同的。如果你想要使用相同的计数器,请将其更改为静态。创建一个类是这样的:
public class ModelGetter{
public static int point;
public static int getPoint(){
return point++;
}
}
,并调用它像ModelGetter.getPoint();
答
您可以通过多种方式来实现你想要什么。
- Make ModelGetter singleton。
- 使getPoint和指向静态。
我现在只有两个想法。 我认为还有其他方法。
答
为了得到1第一次调用它,代码应该是:
public static int getPoint {
return ++point; // First increment the variable point and then return it.
}
声明的方法本身是静态和使用类名ModelGetter.getPoint();
记住叫它:return point ++
先返回,然后递增变量点。你不想要这个。
为了能够访问来自活动相同的变量声明为类变量或“静态”
public static int point
答
您可以使用应用程序类存储的值。为了从任何活动,你应该叫http://developer.android.com/reference/android/app/Activity.html#getApplication()
要使用自定义应用程序类应用程序实例应创建一个inherites的
android.app.Application
一类,然后添加一行到您的清单文件:
<application android:name="your.application.class"
....
请格式化您的问题,使其变得更好的可读性。 – 2014-10-02 08:38:00
http://*.com/q/13079302/1689695 – CocoNess 2014-10-02 09:22:18