Facebook SDK for Android 空指针异常



我正在以下位置遵循简单的教程: 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
    }
}

最新更新