2012-10-03 7 views
6

Voglio usare Fragments nella mia applicazione, ma non posso estendere FragmentActivity perché la mia applicazione estende già un'attività che fa parte di una libreria. Poiché ciò significa che non posso chiamare getSupportFragmentManager(), sto cercando una soluzione che mi permetta di usare Fragments senza dover estendere FragmentActivity. È possibile?Ottenere SupportFragmentManager senza estendere FragmentActivity

+1

Questo purtroppo non è possibile. È la tua libreria o open source? È possibile modificare l'attività estesa e prolungarla FragmentActivity anziché Activity –

+0

Sei sicuro? Ho letto da qualche parte che potrebbe essere possibile utilizzare qualche magia di interfaccia. La libreria è in effetti open source, ma volevo evitare di cambiarla in modo da continuare ad essere in grado di aggiornarla dal repository. – JohnEye

+1

Non so come potrebbe essere fatto correttamente senza estendere FragmentActivity. Hai pensato di chiedere allo sviluppatore della biblioteca di Fragment Support? –

risposta

2

La libreria avrà bisogno di estendere lo FragmentActivity.

Sarei preoccupato per una libreria che richiede comunque l'utilizzo delle attività di base.

Come accennato (dove possibile), prendi il codice sorgente della libreria e aggiungilo come progetto di libreria a eclissi e fai che le sue attività estendano la classe FragmentActivity.

+0

l'API di youtube player per Android è una tale libreria. richiede di ereditare da YouTubeBaseActivity. – kritzikratzi

+0

@kritzikratzi Youtube api potrebbe avere un 'YouTubeSupportBaseActivity'. È una cattiva progettazione che eredita, dovrebbe sempre comporsi. Segnala un bug su b.google.com –

+0

non esiste YouTubeSupportBaseActivity. non esiste nemmeno qualcosa come b.google.com – kritzikratzi

Problemi correlati