2012-10-03 11 views
6

Chcę używać Fragments w mojej aplikacji, ale nie mogę rozszerzyć FragmentActivity, ponieważ moja aplikacja już rozszerza działanie będące częścią biblioteki. Ponieważ oznacza to, że nie mogę zadzwonić pod numer getSupportFragmentManager(), szukam obejścia, które umożliwiłoby mi użycie Fragmentów bez konieczności rozszerzania FragmentActivity. Czy to możliwe?Uzyskiwanie SupportFragmentManager bez rozszerzania FragmentActivity

+1

To niestety nie jest możliwe. Czy twoja biblioteka jest otwarta? Możesz zmienić działanie, które rozszerzasz i rozszerzyć FragmentActivity zamiast działania –

+0

Czy jesteś pewien? Czytałem gdzieś, że może to być możliwe za pomocą magii interfejsu. Biblioteka jest rzeczywiście open source, ale chciałem uniknąć jej zmiany, aby móc ją aktualizować z repozytorium. – JohnEye

+1

Nie wiem, jak można to zrobić poprawnie bez rozszerzenia FragmentActivity. Czy zastanawiałeś się, czy poprosić programistę biblioteki o wsparcie fragmentów? –

Odpowiedz

2

Twoja biblioteka będzie potrzebować rozszerzenia FragmentActivity.

Byłbym zaniepokojony biblioteką, która i tak wymaga użycia ich podstawowych działań.

Jak wspomniano (o ile to możliwe) chwyć kod źródłowy biblioteki i dodaj go jako projekt biblioteczny do zaćmienia i wykonaj jego działania rozszerzając klasę FragmentActivity.

+0

api dla youtube na Androida to taka biblioteka. wymaga dziedziczenia z YouTubeBaseActivity. – kritzikratzi

+0

@kritzikratzi Youtube api może mieć 'YouTubeSupportBaseActivity'. To dziedziczenie kiepskiego projektu, zawsze powinno się komponować. Podnieś błąd na b.google.com –

+0

nie ma czegoś takiego jak YouTubeSupportBaseActivity. nie ma też czegoś takiego jak b.google.com – kritzikratzi

Powiązane problemy