Null Pointer异常处理Facebook登录fororid - com.facebook.FacebookCallback

时间:2016-03-05 18:22:31

标签: java android facebook nullpointerexception

我正在尝试在我正在开发的应用程序中实现Facebook登录。但我一直得到一个NullPointerException,我不太清楚为什么。

具有实施的课程:

public class FacebookLogInActivity extends Activity {
private TextView info;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.com_facebook_activity_layout);

    CallbackManager callbackManager = CallbackManager.Factory.create();
    info = (TextView)findViewById(R.id.info);
    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            info.setText(getString(R.string.facebook_login_successful,
                    loginResult.getAccessToken().getUserId(),
                    loginResult.getAccessToken().getToken()));
        }

        @Override
        public void onCancel() {
            info.setText(R.string.facebook_login_cancel);
        }

        @Override
        public void onError(FacebookException error) {
            info.setText(R.string.facebook_login_fail);
        }
    });
}

编译时遇到的错误的相关部分:

java.lang.RuntimeException: Unable to start activity ComponentInfo{fapptory_inc.rideshare/fapptory_inc.rideshare.FacebookLogInActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.facebook.login.widget.LoginButton.registerCallback(com.facebook.CallbackManager, com.facebook.FacebookCallback)' on a null object reference

其他可能很重要的内容:activity_facebook_log_in.xmlAndroidManifest.xmlbuild.gradle

我已经阅读了these two个问题,而且就我所知,我已经修复了类似的问题。我不知道现在该去哪里,非常感谢一些帮助。

非常感谢先进。

1 个答案:

答案 0 :(得分:3)

您正在为您的活动设置其他布局,而不是您为此活动创建的布局,您应该正确设置:

setContentView(R.layout.activity_facebook_log_in);