Фрагменты в Android 2.2.1, 2.3, 2.0. Это возможно?

В основном я хотел бы знать, можем ли мы иметь макеты фрагментов на устройствах с ОС Android ‹ 3.0.

У моего приложения был заголовок сверху с 5 различными кнопками, и при запуске всегда по умолчанию нажималась первая кнопка, поэтому представление под этими кнопками предназначено для первого представления. Теперь, когда вы нажимаете на вторую кнопку рядом с ней, я не хочу, чтобы изображения заголовков обновлялись, но нужно обновить представление чуть ниже. Так что это похоже на обновление фрагментов под кнопками изображения заголовка.

Итак, можем ли мы иметь фрагменты в Android в устройствах с ОС ‹ 3.0.

Сана.


person Sana    schedule 30.06.2011    source источник


Ответы (5)


Вы должны использовать библиотеки совместимости, предоставленные Google. Вот как вы используете фрагменты на устройствах ‹ 3.0

  • Открытое затмение
  • Окно->Android SDK и AVD
  • Доступные пакеты->Пакет поддержки Android (установите это)

После установки щелкните правой кнопкой мыши проект Android, для которого вы хотите добавить поддержку фрагментов.

  • Путь сборки->Настроить путь сборки
  • Вкладка "Библиотеки"
  • Добавить внешние JAR-файлы
  • Добавьте файл android-support-v4.jar (должен находиться в папке загрузок Android в разделе extras/android/support/v4).

Теперь ваше приложение поддерживает фрагменты. Существуют некоторые ключевые отличия использования пакета совместимости от использования SDK 3.0+. Например

  1. Классы действий, использующие фрагменты, должны расширять FragmentActivity, а НЕ Activity.
  2. вместо getFragmentManager() нужно использовать getSupportFragmentManager

Наслаждаться!!!

person Spidy    schedule 30.06.2011
comment
заткни меня! Я даже не читал документацию по Android! Я смущен! - person Sana; 30.06.2011

Да, фрагменты поддерживаются начиная с Android 1.6. Дополнительную информацию см. в библиотеке совместимости.

person inazaruk    schedule 30.06.2011
comment
хммм, документация (developer.android.com/reference/android/app/Fragment .html), говорят, что это... начиная с уровня API 11 (Android 3.0) - person Matthieu; 30.06.2011
comment
Я обновил ответ. Первоначально фрагменты были представлены в версии 3.0, но есть библиотека совместимости для Android 1.6+, которая позволяет использовать фрагменты. - person inazaruk; 30.06.2011

В Eclipse Indigo вы можете щелкнуть правой кнопкой мыши проект -> Инструменты Android -> Добавить библиотеку поддержки. Затем вместо использования import android.app.Fragment для ОС > 3.0 используйте import android.support.v4.app.Fragment;

person ktran9.lbs    schedule 16.04.2012

Для Android Studio вам нужно щелкнуть правой кнопкой мыши имя приложения> Открыть настройки модуля> вкладка «Зависимости»> нажать «+», чтобы добавить зависимость.

Вам нужно добавить это во все ваши фрагменты:

import android.support.v4.app.Fragment;

импортируйте это в свою MainActivity:

Используйте этот import android.support.v4.app.FragmentManager; вместо import android.app.FragmentManager;

А вместо getFragmentManager() нужно использовать getSupportFragmentManager();.

person user3877429    schedule 05.03.2015

да, Android предоставляет библиотеку поддержки для обратной совместимости. выберите проект-> щелкните правой кнопкой мыши-> инструменты Android-> добавить библиотеку поддержки

person Community    schedule 03.03.2013