[英]Android app facebook login : NULL pointer exception
我的問題有點像這些…… 第一個和第二個問題。 我已經嘗試了這些帖子中給出的所有內容,但絲毫不放松。
所以我正在使用android-simple-facebook庫創建一個facebook登錄名。 這是我的LoginActivity.java
public class LoginActivity extends Activity {
private Button mButtonLogin;
private SimpleFacebook mSimpleFacebook;
protected static final String TAG = LoginActivity.class.getName();
@Override
protected void onCreate(Bundle savedInstanceState) {
mSimpleFacebook = SimpleFacebook.getInstance();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mButtonLogin = (Button) findViewById(R.id.button_login);
setLogin();
}
public void setLogin() {
final OnLoginListener onLoginListener = new OnLoginListener() {
@Override
public void onLogin() {
Log.i(TAG, "Logged in");
}
};
mButtonLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
mSimpleFacebook.login(onLoginListener);
}
});
}
@Override
public void onResume() {
super.onResume();
// mSimpleFacebook = SimpleFacebook.getInstance();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
mSimpleFacebook.onActivityResult(this, requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
}
但是,一旦我單擊登錄按鈕,應用程序就會崩潰,並顯示NullPointerException。 這是LogCat
09-21 15:54:40.109: E/AndroidRuntime(21895): FATAL EXCEPTION: main
09-21 15:54:40.109: E/AndroidRuntime(21895): Process: www.kb.com, PID: 21895
09-21 15:54:40.109: E/AndroidRuntime(21895): java.lang.NullPointerException
09-21 15:54:40.109: E/AndroidRuntime(21895): at www.kb.com.LoginActivity$2.onClick(LoginActivity.java:81)
09-21 15:54:40.109: E/AndroidRuntime(21895): at android.view.View.performClick(View.java:4438)
09-21 15:54:40.109: E/AndroidRuntime(21895): at android.view.View$PerformClick.run(View.java:18422)
09-21 15:54:40.109: E/AndroidRuntime(21895): at android.os.Handler.handleCallback(Handler.java:733)
09-21 15:54:40.109: E/AndroidRuntime(21895): at android.os.Handler.dispatchMessage(Handler.java:95)
09-21 15:54:40.109: E/AndroidRuntime(21895): at android.os.Looper.loop(Looper.java:136)
09-21 15:54:40.109: E/AndroidRuntime(21895): at android.app.ActivityThread.main(ActivityThread.java:5001)
09-21 15:54:40.109: E/AndroidRuntime(21895): at java.lang.reflect.Method.invokeNative(Native Method)
09-21 15:54:40.109: E/AndroidRuntime(21895): at java.lang.reflect.Method.invoke(Method.java:515)
09-21 15:54:40.109: E/AndroidRuntime(21895): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
09-21 15:54:40.109: E/AndroidRuntime(21895): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
09-21 15:54:40.109: E/AndroidRuntime(21895): at dalvik.system.NativeStart.main(Native Method)
請檢查您使用的API調用是否正確。 API文檔聲明了getInstance()
/**
* Get the instance of {@link SimpleFacebook}. <br>
* <br>
* <b>Important:</b> Use this method only after you initialized this library
* or by: {@link #initialize(Activity)} or by {@link #getInstance(Activity)}
*
* @return The {@link SimpleFacebook} instance
*/
public static SimpleFacebook getInstance() {
return mInstance;
}
在您的代碼段中沒有看到類似initialize(Activity)
或getInstance(Activity)
的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.