2

Я новичок в разработке android.Класс FragmentActivity для уровня ниже уровня api 11 устройств

Я создал класс и расширил этот класс от FragmentActivity.

Когда я использую эту функцию getFragmentManager()

это не позволяет мне сделать это

Я также не использовать getSupportFragmentManager, потому что его также дает мне ошибку, что не может конвертировать из поддержки API для android.app

Но тогда я использовал атрибут TargetApi (11) в своем абстрактном классе, который я распространяю от класса FragmentActivity.

Теперь ошибка исчезла.

Но я хотел бы знать, делает ли targetApi (11) мое приложение от запуска моего приложения на устройствах adroid ниже api 11?

Или ниже api 11 не допускает фрагментации или, следовательно, не поддерживает класс FragmentActivity?

Если последнее, что я упоминаю, верно, должен ли я вместо фрагмента использовать новые действия?

+0

Вы используете Android Studio? Вы добавили библиотеку 'appcompat' /' support' в свой проект? –

ответ

2

TargetApi (11) только подавляет предупреждение о поясе, приложение все еще может работать ниже 11. Однако, если может произойти сбой, если API недоступен в нижней платформе Android.

Правильный способ решить проблему заключается в использовании библиотеки Android поддержки, она включает FragmentActivity в пакете android.support.v4.app.

Вам нужно редактировать файл Gradle то ты, чтобы включить Android библиотека поддержки

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile 'com.android.support:support-v4:22.2.0' 
} 

Затем синхронизировать Gradle файл и перекомпилировать проект.

1

Не импортируйте android.app.FragmentActivity. Нужен api больше, чем Android 3.0. Вы можете импортировать android.support.v4.app, FragmentActivity !! И проблема решена!

Смежные вопросы