我正在尝试在我正在开发的应用程序中实现 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.xml , AndroidManifest.xml , build.gradle
最佳答案
您正在为您的 Activity 设置其他布局,而不是您为此 Activity 创建的布局,您应该正确设置:
setContentView(R.layout.activity_facebook_log_in);
关于java - Android 的空指针异常处理 Facebook 登录 - com.facebook.FacebookCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35817950/