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.