Fragment Класс

Определение

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

[Android.Runtime.Register("android/app/Fragment", DoNotGenerateAcw=true)]
public class Fragment : Java.Lang.Object, Android.Content.IComponentCallbacks2, Android.Views.View.IOnCreateContextMenuListener, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/app/Fragment", DoNotGenerateAcw=true)>]
type Fragment = class
    inherit Object
    interface IComponentCallbacks2
    interface IComponentCallbacks
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface View.IOnCreateContextMenuListener
Наследование
Fragment
Производный
Атрибуты
Реализации

Комментарии

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity. Взаимодействие с фрагментами осуществляется с помощью FragmentManager, который можно получить с помощью Activity#getFragmentManager() Activity.getFragmentManager() и Fragment#getFragmentManager() Fragment.getFragmentManager().

Класс Fragment можно использовать разными способами для достижения разнообразных результатов. По своей сути он представляет определенную операцию или интерфейс, выполняемый в более крупном объекте Activity. Фрагмент тесно связан с действием, в который он находится, и не может использоваться отдельно от него. Хотя фрагмент определяет свой собственный жизненный цикл, этот жизненный цикл зависит от его активности: если действие остановлено, фрагменты внутри него не могут быть запущены; при уничтожении действия все фрагменты будут уничтожены.

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

Темы, рассматриваемые здесь: <ol li<>>Старые платформы<li>Жизненный цикл<li>Layout<li>Back Stack</ol>

<div class="special reference"><h3>Developer Guides</h3>

Дополнительные сведения об использовании фрагментов см. в руководстве разработчика по фрагментам .

</Div>

"OlderPlatforms"><h3>Старые платформы</h3>

Хотя API фрагментов был представлен в android.os.Build.VERSION_CODES#HONEYCOMB, версия API в также доступна для использования на старых платформах через androidx.fragment.app.FragmentActivity. Дополнительные сведения см. в записи блога Fragments For All .

"Lifecycle"><h3>Lifecycle</h3>

Хотя жизненный цикл фрагмента связан с его действием-владельцем, он имеет свои собственные морщины на стандартном жизненном цикле действия. Он включает основные методы жизненного цикла действий, такие как #onResume, но также важны методы, связанные с взаимодействием с действием и созданием пользовательского интерфейса.

Ниже приведены основные ряды методов жизненного цикла, которые вызываются для приведения фрагмента в состояние возобновления (взаимодействие с пользователем):

<ol><li>#onAttach вызывается после того, как фрагмент связан с его действием. <li>#onCreate вызывается для первоначального создания фрагмента. <li>#onCreateView создает и возвращает иерархию представлений, связанную с фрагментом. <Li>#onActivityCreated сообщает фрагменту, что его действие завершило собственное Activity#onCreate Activity.onCreate(). <Li>#onViewStateRestored сообщает фрагменту, что восстановлено все сохраненное состояние иерархии представлений. <li>#onStart делает фрагмент видимым для пользователя (в зависимости от запуска содержащего его действия). <li>#onResume заставляет фрагмент начать взаимодействие с пользователем (в зависимости от возобновления его содержащего действия). </Пр>

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

<Фрагмент ol><li>#onPause больше не взаимодействует с пользователем, так как его действие приостановлено или операция фрагмента изменяет его в действии. <Фрагмент li>#onStop больше не виден пользователю, так как его действие останавливается или операция фрагмента изменяет его в действии. <Li>#onDestroyView позволяет фрагменту очищать ресурсы, связанные с его представлением. <li>#onDestroy вызывается для окончательной очистки состояния фрагмента. <li>#onDetach вызывается непосредственно перед тем, как фрагмент больше не связан с его действием. </Пр>

"Layout"><h3>Layout</h3>

Фрагменты можно использовать как часть макета приложения, что позволяет лучше модульизировать код и проще настроить пользовательский интерфейс под экран, на котором он выполняется. В качестве примера можно рассмотреть простую программу, состоящую из списка элементов, и отобразить сведения о каждом элементе.

XML-код макета действия может включать &lt;fragment&gt; теги для внедрения экземпляров фрагментов внутри макета. Например, ниже приведен простой макет, который внедряет один фрагмент:

{

Этот элемент устарел. Используйте библиотеку androidx.fragment.app.Fragmentфрагментов Jetpack для согласованного поведения на всех устройствах и доступа к жизненному циклу.

Документация по Java для android.app.Fragment.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Конструкторы

Fragment()

Конструктор по умолчанию.

Fragment(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Activity

Возвращает действие, с которым в данный момент связан этот фрагмент.

AllowEnterTransitionOverlap

Возвращает значение, указывающее, перекрываются ли переходы выхода и перехода ввода. -или- Задает, перекрываются ли переходы выхода и перехода ввода.

AllowReturnTransitionOverlap

Возвращает значение, указывающее, перекрываются ли возвращаемый и повторный переход. -или- Задает, перекрываются ли возвращаемый и повторный переходы.

Arguments

Возвращает аргументы, указанные в #setArguments, если таковые есть. -или- Укажите аргументы конструкции для этого фрагмента.

ChildFragmentManager

Возвращает частный FragmentManager для размещения фрагментов внутри этого фрагмента и управления ими.

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Context

Возвращает текущий Context связанный фрагмент.

EnterTransition

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

ExitTransition

Возвращает значение перехода, которое будет использоваться для перемещения представлений из сцены при удалении, скрытии или отсоединения фрагмента, если стек не отображается. -или- Задает переход, который будет использоваться для перемещения представлений из сцены при удалении, скрытии или отсоединения фрагмента, когда не отображается задний стек.

FragmentManager

Возвращает объект FragmentManager для взаимодействия с фрагментами, связанными с действием этого фрагмента.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
Host

Возвращает главный объект этого фрагмента.

Id

Возвращает идентификатор, по которым известен этот фрагмент.

IsAdded

Возвращает значение true, если фрагмент в данный момент добавлен в действие .

IsDetached

Возвращает значение true, если фрагмент был явно отключен от пользовательского интерфейса.

IsHidden

Возвращает значение true, если фрагмент скрыт.

IsInLayout

Возвращает значение true, если макет включен в иерархию представлений действий через < fragment> Тег.

IsRemoving

Возвращает значение true, если этот фрагмент в настоящее время удаляется из своего действия.

IsResumed

Возвращает значение true, если фрагмент находится в возобновленном состоянии.

IsStateSaved

Возвращает значение true, если этот фрагмент добавлен и его состояние уже сохранено его узлом.

IsVisible

Возвращает значение true, если фрагмент в данный момент виден пользователю.

JniIdentityHashCode

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
JniPeerMembers

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

LayoutInflater

Возвращает кэшированный объект LayoutInflater, используемый для расширения представлений этого фрагмента.

LoaderManager

Верните LoaderManager для этого фрагмента, создав его при необходимости.

ParentFragment

Возвращает родительский фрагмент, содержащий этот фрагмент.

PeerReference

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
ReenterTransition

Возвращает переход, который будет использоваться для перемещения представлений в сцену при возвращении из-за стека назад. -или- Задает переход, который будет использоваться для перемещения представлений в сцену при возвращении из-за перетаскивания стека назад.

Resources

Возвращается значение getActivity().getResources().

RetainInstance

Управление сохранением экземпляра фрагмента при повторном создании действия (например, при изменении конфигурации).

ReturnTransition

Возвращает значение перехода, которое будет использоваться для перемещения представлений из сцены, когда фрагмент готовится к удалению, скрытию или отсоединения из-за перемещения стека назад. -или- Задает переход, который будет использоваться для перемещения представлений из сцены, когда фрагмент готовится к удалению, скрытию или отсоединения из-за перетаскивания заднего стека.

SharedElementEnterTransition

Возвращает объект Transition, который будет использоваться для общих элементов, передаваемых в сцену содержимого. -или- Задает переход, который будет использоваться для общих элементов, передаваемых в сцену содержимого.

SharedElementReturnTransition

Возвращает значение Transition, которое будет использоваться для общих элементов, передаваемых обратно во время перемещения по стеку назад. -или- Задает переход, который будет использоваться для общих элементов, передаваемых обратно во время перехода в задний стек.

Tag

Получите имя тега фрагмента, если указано.

TargetFragment

Возвращает целевой фрагмент, заданный параметром #setTargetFragment.

TargetRequestCode

Возвращает код целевого запроса, заданный параметром #setTargetFragment.

ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

UserVisibleHint

Задайте системе подсказку о том, является ли пользовательский интерфейс этого фрагмента видимым для пользователя.

View

Получите корневое представление для макета фрагмента (возвращаемого ), #onCreateViewесли оно указано.

Методы

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
Dispose(Boolean)

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
Dump(String, FileDescriptor, PrintWriter, String[])

Вывод состояния фрагментов в заданный поток.

Equals(Object)
Устаревшие..

Подклассы не могут переопределять equals().

GetHashCode()
Устаревшие..

Подклассы не могут переопределять hashCode().

GetString(Int32)

Возвращает локализованную строку из таблицы строк по умолчанию пакета приложения.

GetString(Int32, Object[])

Возвращает локализованную строку из таблицы строк по умолчанию пакета приложения.

GetText(Int32)

Возвращает локализованный стиль CharSequence из таблицы строк по умолчанию пакета приложения.

GetTextFormatted(Int32)

Возвращает локализованный стиль CharSequence из таблицы строк по умолчанию пакета приложения.

Instantiate(Context, String)

Нравится #instantiate(Context, String, Bundle) , но с аргументом NULL Bundle.

Instantiate(Context, String, Bundle)

Создайте экземпляр Fragment с заданным именем класса.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего на мониторе этого объекта.

(Унаследовано от Object)
NotifyAll()

Активирует все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
OnActivityCreated(Bundle)

Вызывается при создании действия фрагмента и создании экземпляра иерархии представлений этого фрагмента.

OnActivityResult(Int32, Result, Intent)

Получите результат предыдущего вызова .#startActivityForResult(Intent, int)

OnAttach(Activity)

Этот элемент устарел.

OnAttach(Context)

Вызывается при первом присоединении фрагмента к его контексту.

OnAttachFragment(Fragment)

Вызывается при присоединении фрагмента в качестве дочернего элемента этого фрагмента.

OnConfigurationChanged(Configuration)

Вызывается системой при изменении конфигурации устройства во время работы компонента.

OnContextItemSelected(IMenuItem)

Этот перехватчик вызывается при каждом выборе элемента в контекстном меню.

OnCreate(Bundle)

Вызывается для первоначального создания фрагмента.

OnCreateAnimator(FragmentTransit, Boolean, Int32)

Вызывается при загрузке фрагмента анимации.

OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo)

Вызывается при появлении контекстного меню для view .

OnCreateOptionsMenu(IMenu, MenuInflater)

Инициализируйте содержимое стандартного меню параметров действия.

OnCreateView(LayoutInflater, ViewGroup, Bundle)

Вызывается для создания экземпляра представления пользовательского интерфейса фрагмента.

OnDestroy()

Вызывается, когда фрагмент больше не используется.

OnDestroyOptionsMenu()

Вызывается, когда пункты меню параметров этого фрагмента больше не включаются в общее меню параметров.

OnDestroyView()

Вызывается, когда представление, ранее созданное , #onCreateView было отсоединены от фрагмента.

OnDetach()

Вызывается, когда фрагмент больше не присоединен к его действию.

OnGetLayoutInflater(Bundle)

Возвращает объект LayoutInflater, используемый для расширения представлений этого фрагмента.

OnHiddenChanged(Boolean)

Вызывается при изменении скрытого состояния (возвращаемого фрагментом #isHidden() ).

OnInflate(Activity, IAttributeSet, Bundle)

Этот элемент устарел.

OnInflate(Context, IAttributeSet, Bundle)

Вызывается при создании фрагмента в рамках инфляции макета представления, как правило, при настройке представления содержимого действия.

OnInflate(IAttributeSet, Bundle)
Устаревшие..

Этот элемент устарел.

OnLowMemory()

Это вызывается, когда в системе в целом недостаточно памяти, и активно выполняющиеся процессы должны сокращать использование памяти.

OnMultiWindowModeChanged(Boolean)

Вызывается при переходе активности фрагмента из полноэкранного режима в многооконный режим и наоборот.

OnMultiWindowModeChanged(Boolean, Configuration)

Вызывается при переходе активности фрагмента из полноэкранного режима в многооконный режим и наоборот.

OnOptionsItemSelected(IMenuItem)

Этот перехватчик вызывается при каждом выборе элемента в меню параметров.

OnOptionsMenuClosed(IMenu)

Этот перехватчик вызывается всякий раз, когда меню параметров закрывается (либо пользователем, отменяющим меню с помощью кнопки "Назад/меню", либо при выборе элемента).

OnPause()

Вызывается, когда фрагмент больше не возобновляется.

OnPictureInPictureModeChanged(Boolean)

Вызывается системой при изменении действия в режиме "изображение в картинке".

OnPictureInPictureModeChanged(Boolean, Configuration)

Вызывается системой при изменении действия в режиме "изображение в картинке".

OnPrepareOptionsMenu(IMenu)

Подготовьте стандартное меню параметров экрана для отображения.

OnRequestPermissionsResult(Int32, String[], Permission[])

Обратный вызов для результата запроса разрешений.

OnResume()

Вызывается, когда фрагмент виден пользователю и активно выполняется.

OnSaveInstanceState(Bundle)

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

OnStart()

Вызывается, когда фрагмент виден пользователю.

OnStop()

Вызывается, когда фрагмент больше не запускается.

OnTrimMemory(TrimMemory)

Вызывается, когда операционная система определила, что это хорошее время для процесса, чтобы обрезать ненужные памяти из своего процесса.

OnViewCreated(View, Bundle)

Вызывается сразу после #onCreateView(LayoutInflater, ViewGroup, Bundle) возврата, но до восстановления сохраненного состояния в представлении.

OnViewStateRestored(Bundle)

Вызывается, когда все сохраненное состояние было восстановлено в иерархии представлений фрагмента.

PostponeEnterTransition()

Отложите переход входящего фрагмента до вызова #startPostponedEnterTransition() или FragmentManager#executePendingTransactions() .

RegisterForContextMenu(View)

Регистрирует контекстное меню, отображаемое для данного представления (в нескольких представлениях может отображаться контекстное меню).

RequestPermissions(String[], Int32)

Запрашивает разрешения, предоставляемые этому приложению.

SetEnterSharedElementCallback(SharedElementCallback)

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

SetExitSharedElementCallback(SharedElementCallback)

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

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetHasOptionsMenu(Boolean)

Сообщите, что этот фрагмент хотел бы участвовать в заполнении меню параметров путем получения вызова #onCreateOptionsMenu и связанных методов.

SetInitialSavedState(Fragment+SavedState)

Задайте исходное сохраненное состояние, из которой этот фрагмент должен восстановить себя при первой создании, как возвращается .FragmentManager#saveFragmentInstanceState(Fragment) FragmentManager.saveFragmentInstanceState

SetMenuVisibility(Boolean)

Задайте подсказку о том, должно ли отображаться меню этого фрагмента.

SetTargetFragment(Fragment, Int32)

Необязательный целевой объект для этого фрагмента.

ShouldShowRequestPermissionRationale(String)

Возвращает значение, указывающее, следует ли отображать пользовательский интерфейс с обоснованием перед запросом разрешения.

StartActivity(Intent)

Вызов Activity#startActivity(Intent) из действия, содержащего фрагмент.

StartActivity(Intent, Bundle)

Вызов Activity#startActivity(Intent, Bundle) из действия, содержащего фрагмент.

StartActivityForResult(Intent, Int32)

Вызов Activity#startActivityForResult(Intent, int) из действия, содержащего фрагмент.

StartActivityForResult(Intent, Int32, Bundle)

Вызов Activity#startActivityForResult(Intent, int, Bundle) из действия, содержащего фрагмент.

StartIntentSenderForResult(IntentSender, Int32, Intent, ActivityFlags, ActivityFlags, Int32, Bundle)

Вызов Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle) из действия, содержащего фрагмент.

StartPostponedEnterTransition()

Начало отложенных переходов после #postponeEnterTransition() вызова метода .

ToArray<T>()

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterForContextMenu(View)

Запрещает отображение контекстного меню для данного представления.

UnregisterFromRuntime()

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

(Унаследовано от Object)
Wait(Int64)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

GetJniTypeName(IJavaPeerable)

Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в Activity.

Применяется к