Por que a interface do Android no Android não funciona com fragmentos?

Estou mudando alguns AndroidFacebook código de umActivity para umFragment. Antes do switch tudo funcionou bem, mas agora oonComplete() o retorno de chamada não está sendo executado.

O código do Facebook não funciona comFragmentosou estou fazendo algo errado?

Aqui está o código original (em umSherlockActivity):

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

E aqui está o novo código (em um SherlockFragment):

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

Tanto a atividade quanto o fragmento incluem o mesmo onActivityResult () conforme exigido pelo Facebook:

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

Obrigado pela ajuda!

EDIT: Uma pergunta semelhante é feitaAqui, onde a resposta aceita é mudar oFragment para umFragmentActivity. Mas eu não vejo como isso ajuda, já que não é maisFragment (o que preciso por outras razões). Sugestões?

EDIT 2: eu rolei minha própria solução. Ver abaixo.

questionAnswers(5)

yourAnswerToTheQuestion