【发布时间】:2013-08-21 09:39:30
【问题描述】:
我对 Android 还是很陌生,我正在尝试在我的应用中实现成就。我基本上想复制 Google play 开发者网站here 上给出的“Type-a-Number Challenge”示例应用程序中实现的成就。
我有一个包含处理成就的方法和类的第一个活动,以及第二个活动,其中我有将被转发到第一个活动以进行“处理”的变量。我复制了我认为执行此操作所必需的代码,但在第二个类中调用侦听器时总是出现空指针异常。
这是我在第二个活动中的听众:
public interface Listener {
public void onEnteredScore(int score);
}
Listener mListener = null;
public void setListener(Listener l) {
mListener = l;
}
当我这样调用侦听器时,此处标记了空指针异常(其中 mRequestedScore 与 0 不同):
mListener.onEnteredScore(mRequestedScore);
第一个活动的类实现第二个活动监听器,如下所示:
public class FirstActivity extends BaseGameActivity
implements SecondActivity.Listener
并包括 onEnteredScore 方法
@Override
public void onEnteredScore(int requestedScore) {
checkForAchievements(requestedScore);
pushAccomplishments();
}
我不完全确定出现错误是因为侦听器期待用户点击或执行某些操作,还是两个活动之间没有正确建立“链接”。
我四处寻找类似的问题,但还没有找到任何东西。
如果错误很明显,请道歉。
提前感谢您提供的任何帮助。
【问题讨论】:
-
mListener是null。这里没有什么神秘之处。 -
我应该将它初始化为什么,以便它引用第一个活动?
标签: java android google-play-games