java - Facebook SDK for Android 空指针异常

标签 java android facebook

我正在遵循简单的教程: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 计算结果为 true,因此我进入了 block 内部,但是user.getName() 上我总是get 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
    }
}

关于java - Facebook SDK for Android 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21803513/

相关文章:

java - 如何在计时器下运行命令?下面有更详细的解释

java - JsonSimple : How to get Second object in Json feed

android - Webview 中的进度对话框

javascript - Cordova:使用 javascript api 登录 facebook 不工作

facebook - Facebook 粉丝专页的粉丝数

java - 在 libgdx 中以不同速度移动两个相机

java - TextView 扩展;不支持的操作异常

android - 将视频从Android手机共享到Facebook

android - MMS 内容提供商问题(Samsung Galaxy S3)

python - 以编程方式更新 Facebook 状态