Пакет сумісності Android не включає Activity.getFragmentManager ()


80

Я почав намагатися додати фрагменти до свого додатка для Android, який базується на версії 2.1, використовуючи пакет сумісності Android, який щойно вийшов 3 березня. Я включив бібліотеку у свій проект і почав переносити код зі свого класу на основі Activity до класу на основі Fragment, але я помітив, що приклади Fragment від Google, схоже, покладаються на той факт, що клас Activity в 3.0 (Honeycomb) має новий метод getFragmentManager (). Здається, це невід’ємний гачок у системі Фрагмент.

Я спробував заглянути всередину бібліотеки пакета сумісності на предмет якоїсь реалізації Activity, яка має getFragmentManager (), але не можу її знайти. Хто-небудь знає, де я можу знайти getFragmentManager (), щоб я міг включити Фрагменти для сумісності з стільниковими мережами, або якщо ні, то чи знаєте Ви, як я можу включити Фрагменти без використання FragmentManager?

Відповіді:


150

Вам потрібно буде продовжити FragmentActivityзамість звичайного Activity. Тоді ви зможете зателефонувати, getSupportFragmentManager()який працює так само, як і getFragmentManager().


1
Ця відповідь врятувала мене від біль! Дякую.
Roundhill

7
Будь-які пропозиції щодо використання API Карт Google у такий спосіб? Неможливо одночасно розширити MapView та FragmentActivity
швидкість

У чому різниця між getSupportFragmentManager () та getFragmentmanager ()?
ІгорГанапольський 05.03.12

3
@IgorG. getFragmentManager () доступний лише в Android 3.0+ і є "рідним" методом отримання FragmentManager. getSupportFragmentManager () робить в основному те саме, але це реалізація методу бібліотеки сумісності.
Kaloer

1
При розробці програми, розгорнутої на 2.2 вперед, чи "getSupportFragmentManager ()" просто викликає "getFragmentManager ()" на платформах, що підтримують власний виклик?
Dan Devine

0

Вам потрібно лише змінити цільовий рівень Android на рівень API = 12


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.