Разница между Activity и FragmentActivity

Я работал над фрагментами и сталкивался с двумя вещами Activity и FragmentActivity, которые используются несколько раз. Я хочу знать, что есть разница между этими двумя, потому что, когда я изменил Activity на FragmentActivity, это не повлияло на приложение.

Ответ 1

FragmentActivity - это подкласс Activity, созданный для пакета поддержки Android.

Класс FragmentActivity добавляет пару новых методов для обеспечения совместимости со старыми версиями Android, но, кроме этого, между ними нет большой разницы. Просто убедитесь, что вы изменили все вызовы методов getLoaderManager() и getFragmentManager() на getSupportLoaderManager() и getSupportFragmentManager() соответственно.

Ответ 2

  • Фрагмент является частью активности, которая вносит свой собственный интерфейс в эту деятельность. Фрагмент можно рассматривать как суб-активность. Где в качестве полного экрана, с которым пользователь взаимодействует, называется активностью. Активность может содержать несколько фрагментов. Фрагменты в основном являются частью процесса.

  • Активность может содержать 0 или несколько фрагментов на основе размера экрана. Фрагмент может быть повторно использован в нескольких действиях, поэтому он действует как компонент многократного использования в действиях.

  • Фрагмент не может существовать независимо. Это должно быть всегда частью деятельности. Где, как активность может существовать без какого-либо фрагмента в ней.

Ответ 3

Вы можете получить все функциональные возможности Activity от FragmentActivity. Фактически, FragmentActivity имеет большую функциональность).

Используя FragmentActivity, вы можете легко создать формат вкладок и свопов. Для каждой вкладки вы можете использовать разные Fragment (фрагменты можно использовать повторно). Поэтому для любого FragmentActivity вы можете повторно использовать тот же фрагмент.

Тем не менее вы можете использовать Activity для отдельных страниц, например, перечислить что-то и редактировать элемент списка на следующей странице.

Также не забудьте использовать Activity, если вы используете android.app.Fragment; использовать FragmentActivity, если используете android.support.v4.app.Fragment. Никогда не прикрепляйте android.support.v4.app.Fragment к android.app.Activity, так как это приведет к тому, что будет выбрано исключение.

Ответ 4

FragmentActivity является частью библиотеки поддержки, а Activity - это класс по умолчанию для структуры. Они функционально эквивалентны.

Вы всегда должны использовать FragmentActivity и android.support.v4.app.Fragment вместо классов по умолчанию Activity и android.app.Fragment. Использование значений по умолчанию для платформы означает, что вы полагаетесь на то, какая реализация фрагментов используется в устройстве, на котором вы работаете. Они часто многолетние и содержат ошибки, которые с тех пор были исправлены в библиотеке поддержки.