我正在以下位置遵循简单的教程: 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 实例时进行了检查,并且它填充了空值。我可能做错了什么?会不会是应用程序配置存在一些问题?我已经生成了新的KeyHash,它是正确的,所以我不知道还有什么不正确的。
如果findViewById(R.id.welcome)
返回 null,则可以抛出NullPointerException
。您也可以修改逻辑以检查欢迎:
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
}
}