我正在尝试在我正在开发的应用程序中实现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
我已经阅读了these two个问题,而且就我所知,我已经修复了类似的问题。我不知道现在该去哪里,非常感谢一些帮助。
非常感谢先进。
答案 0 :(得分:3)
您正在为您的活动设置其他布局,而不是您为此活动创建的布局,您应该正确设置:
setContentView(R.layout.activity_facebook_log_in);