Warum funktioniert die Android Facebook-Oberfläche nicht mit Fragments?

Ich schalte einige AndroidFacebook Code von einemActivity zu einemFragment. Vor dem Umstieg hat alles geklappt, aber jetzt dasonComplete() Rückruf wird nicht ausgeführt.

Funktioniert der Facebook-Code nicht mitFragmenteoder mache ich etwas falsch

Hier ist der Originalcode (in aSherlockActivity):

if (!mFacebook.isSessionValid()) {
    mFacebook.authorize(MyActivity.this, permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) { ... }    // CALLED AS EXPECTED
    }
}

Und hier ist der neue Code (in einem SherlockFragment):

if (!mFacebook.isSessionValid()) {
    mFacebook.authorize(getActivity(), permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) { ... }    // DOES NOT GET CALLED
    }
}

Sowohl die Aktivität als auch das Fragment enthalten dasselbe onActivityResult (), das auch von Facebook benötigt wird:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    mFacebook.authorizeCallback(requestCode, resultCode, data);
}

Danke für Ihre Hilfe!

EDIT: Eine ähnliche Frage wird gestelltHier, wo die akzeptierte Antwort ist, die zu ändernFragment zu einemFragmentActivity. Aber ich verstehe nicht, wie das hilft, da es dann nicht mehr gehtFragment (was ich aus anderen gründen brauche). Vorschläge?

EDIT 2: Ich habe meine eigene Lösung gerollt. Siehe unten.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage