簡體   English   中英

Android應用程序Facebook登錄:NULL指針異常

[英]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)的調用。

事實證明,代碼或庫沒有任何問題,但是android支持庫存在問題。 我終於在這里找到了解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM