我在“:https://developers.facebook.com/docs/android/getting-started/”上学习简单的教程,在完成所有工作之后,onCompleted回调方法出现了问题。
我的代码如下所示:
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
}).executeAsync();因为不推荐教程中的executeMeRequestAsync方法。一切都很好,user != null的计算结果为真,所以我进入了块,,但user.getName()上的--我总是得到NullPointerException,在调试GraphUser实例时检查过,其中填充了null值。我可能做错了什么?应用程序配置会出现一些问题吗?我已经生成了新的KeyHash,它是正确的,所以我不知道还有什么是不正确的。
发布于 2014-02-15 21:05:32
如果NullPointerException返回null,则可以引发findViewById(R.id.welcome)。您也可以修改您的逻辑以检查是否欢迎:
public void onCompleted(GraphUser user, Response response) {
TextView welcome = (TextView) findViewById(R.id.welcome);
if(user != null && welcome != null) {
welcome.setText("Hello " + user.getName() + "!");
}
else {
// Log it in some way
}
}https://stackoverflow.com/questions/21803513
复制相似问题