Java Google Play游戏服务-侦听器空指针异常
我对Android还是相当陌生的,我正在尝试在我的应用程序中实现成就。我基本上想复制Google play开发者网站上提供的“a型数字挑战”示例应用程序中实现的成就 我有一个第一个活动,其中包含处理成就的方法和类,还有一个第二个活动,其中我有将转发到第一个活动进行“处理”的变量。我复制了我认为执行此操作所必需的代码,但在第二个类中调用侦听器时,我总是遇到空指针异常 下面是我在第二个活动中的听众:Java Google Play游戏服务-侦听器空指针异常,java,android,google-play-games,Java,Android,Google Play Games,我对Android还是相当陌生的,我正在尝试在我的应用程序中实现成就。我基本上想复制Google play开发者网站上提供的“a型数字挑战”示例应用程序中实现的成就 我有一个第一个活动,其中包含处理成就的方法和类,还有一个第二个活动,其中我有将转发到第一个活动进行“处理”的变量。我复制了我认为执行此操作所必需的代码,但在第二个类中调用侦听器时,我总是遇到空指针异常 下面是我在第二个活动中的听众: public interface Listener { public void onEnte
public interface Listener {
public void onEnteredScore(int score);
}
Listener mListener = null;
public void setListener(Listener l) {
mListener = l;
}
当我这样调用侦听器时(其中mRequestedScore不同于0),在此处标记空指针异常:
第一个活动的类实现第二个活动侦听器,如下所示:
public class FirstActivity extends BaseGameActivity
implements SecondActivity.Listener
并包括onEnteredScore方法
@Override
public void onEnteredScore(int requestedScore) {
checkForAchievements(requestedScore);
pushAccomplishments();
}
我不完全确定是否出现错误是因为侦听器希望用户单击或执行某些操作,或者两个活动之间的“链接”未正确建立
我四处寻找类似的问题,但还没有发现任何东西
如果错误明显,道歉
提前感谢您提供的帮助。您的“链接”未建立,因此为空
如果希望在活动(而不是片段)之间传递数据,则需要使用Intent框架-请参阅
您在Type a Number质询中遵循的接口方法对于在片段和父活动之间传递数据非常有用。这就是它在那个例子中的用途。您似乎没有使用片段
对于成就,最好使用附加到FirstActivity
的类。然后,该类可以实现您的监听器接口(如果该接口在这一点上有用的话)。使用一个单独的活动比要求的要重得多。mListener
是null
。这里没有什么神秘的东西。我应该把它的首字母缩写成什么,这样它就可以追溯到第一个活动了?
@Override
public void onEnteredScore(int requestedScore) {
checkForAchievements(requestedScore);
pushAccomplishments();
}