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
- Наследование
- Производный
- Атрибуты
- Реализации
Комментарии
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в 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-код макета действия может включать <fragment>
теги для внедрения экземпляров фрагментов внутри макета. Например, ниже приведен простой макет, который внедряет один фрагмент:
{
Этот элемент устарел. Используйте библиотеку 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 |
Возвращает аргументы, указанные в |
ChildFragmentManager |
Возвращает частный FragmentManager для размещения фрагментов внутри этого фрагмента и управления ими. |
Class |
Возвращает класс среды выполнения данного объекта |
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 |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
JniPeerMembers |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
LayoutInflater |
Возвращает кэшированный объект LayoutInflater, используемый для расширения представлений этого фрагмента. |
LoaderManager |
Верните LoaderManager для этого фрагмента, создав его при необходимости. |
ParentFragment |
Возвращает родительский фрагмент, содержащий этот фрагмент. |
PeerReference |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
ReenterTransition |
Возвращает переход, который будет использоваться для перемещения представлений в сцену при возвращении из-за стека назад. -или- Задает переход, который будет использоваться для перемещения представлений в сцену при возвращении из-за перетаскивания стека назад. |
Resources |
Возвращается значение |
RetainInstance |
Управление сохранением экземпляра фрагмента при повторном создании действия (например, при изменении конфигурации). |
ReturnTransition |
Возвращает значение перехода, которое будет использоваться для перемещения представлений из сцены, когда фрагмент готовится к удалению, скрытию или отсоединения из-за перемещения стека назад. -или- Задает переход, который будет использоваться для перемещения представлений из сцены, когда фрагмент готовится к удалению, скрытию или отсоединения из-за перетаскивания заднего стека. |
SharedElementEnterTransition |
Возвращает объект Transition, который будет использоваться для общих элементов, передаваемых в сцену содержимого. -или- Задает переход, который будет использоваться для общих элементов, передаваемых в сцену содержимого. |
SharedElementReturnTransition |
Возвращает значение Transition, которое будет использоваться для общих элементов, передаваемых обратно во время перемещения по стеку назад. -или- Задает переход, который будет использоваться для общих элементов, передаваемых обратно во время перехода в задний стек. |
Tag |
Получите имя тега фрагмента, если указано. |
TargetFragment |
Возвращает целевой фрагмент, заданный параметром |
TargetRequestCode |
Возвращает код целевого запроса, заданный параметром |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
UserVisibleHint |
Задайте системе подсказку о том, является ли пользовательский интерфейс этого фрагмента видимым для пользователя. |
View |
Получите корневое представление для макета фрагмента (возвращаемого ), |
Методы
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Dispose() |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
Dispose(Boolean) |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
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) |
Создайте экземпляр Fragment с заданным именем класса. |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего на мониторе этого объекта. (Унаследовано от Object) |
NotifyAll() |
Активирует все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
OnActivityCreated(Bundle) |
Вызывается при создании действия фрагмента и создании экземпляра иерархии представлений этого фрагмента. |
OnActivityResult(Int32, Result, Intent) |
Получите результат предыдущего вызова . |
OnAttach(Activity) |
Этот элемент устарел. |
OnAttach(Context) |
Вызывается при первом присоединении фрагмента к его контексту. |
OnAttachFragment(Fragment) |
Вызывается при присоединении фрагмента в качестве дочернего элемента этого фрагмента. |
OnConfigurationChanged(Configuration) |
Вызывается системой при изменении конфигурации устройства во время работы компонента. |
OnContextItemSelected(IMenuItem) |
Этот перехватчик вызывается при каждом выборе элемента в контекстном меню. |
OnCreate(Bundle) |
Вызывается для первоначального создания фрагмента. |
OnCreateAnimator(FragmentTransit, Boolean, Int32) |
Вызывается при загрузке фрагмента анимации. |
OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo) |
Вызывается при появлении контекстного меню для |
OnCreateOptionsMenu(IMenu, MenuInflater) |
Инициализируйте содержимое стандартного меню параметров действия. |
OnCreateView(LayoutInflater, ViewGroup, Bundle) |
Вызывается для создания экземпляра представления пользовательского интерфейса фрагмента. |
OnDestroy() |
Вызывается, когда фрагмент больше не используется. |
OnDestroyOptionsMenu() |
Вызывается, когда пункты меню параметров этого фрагмента больше не включаются в общее меню параметров. |
OnDestroyView() |
Вызывается, когда представление, ранее созданное , |
OnDetach() |
Вызывается, когда фрагмент больше не присоединен к его действию. |
OnGetLayoutInflater(Bundle) |
Возвращает объект LayoutInflater, используемый для расширения представлений этого фрагмента. |
OnHiddenChanged(Boolean) |
Вызывается при изменении скрытого состояния (возвращаемого фрагментом |
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) |
Вызывается сразу после |
OnViewStateRestored(Bundle) |
Вызывается, когда все сохраненное состояние было восстановлено в иерархии представлений фрагмента. |
PostponeEnterTransition() |
Отложите переход входящего фрагмента до вызова |
RegisterForContextMenu(View) |
Регистрирует контекстное меню, отображаемое для данного представления (в нескольких представлениях может отображаться контекстное меню). |
RequestPermissions(String[], Int32) |
Запрашивает разрешения, предоставляемые этому приложению. |
SetEnterSharedElementCallback(SharedElementCallback) |
Если пользовательские переходы используются с фрагментами, обратный вызов перехода enter вызывается при присоединении этого фрагмента или отсоединения, если не отображается задний стек. |
SetExitSharedElementCallback(SharedElementCallback) |
Если пользовательские переходы используются с фрагментами, обратный вызов перехода выхода вызывается при присоединении или отсоединения этого фрагмента при появлении стека назад. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
SetHasOptionsMenu(Boolean) |
Сообщите, что этот фрагмент хотел бы участвовать в заполнении меню параметров путем получения вызова |
SetInitialSavedState(Fragment+SavedState) |
Задайте исходное сохраненное состояние, из которой этот фрагмент должен восстановить себя при первой создании, как возвращается . |
SetMenuVisibility(Boolean) |
Задайте подсказку о том, должно ли отображаться меню этого фрагмента. |
SetTargetFragment(Fragment, Int32) |
Необязательный целевой объект для этого фрагмента. |
ShouldShowRequestPermissionRationale(String) |
Возвращает значение, указывающее, следует ли отображать пользовательский интерфейс с обоснованием перед запросом разрешения. |
StartActivity(Intent) |
Вызов |
StartActivity(Intent, Bundle) |
Вызов |
StartActivityForResult(Intent, Int32) |
Вызов |
StartActivityForResult(Intent, Int32, Bundle) |
Вызов |
StartIntentSenderForResult(IntentSender, Int32, Intent, ActivityFlags, ActivityFlags, Int32, Bundle) |
Вызов |
StartPostponedEnterTransition() |
Начало отложенных переходов после |
ToArray<T>() |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterForContextMenu(View) |
Запрещает отображение контекстного меню для данного представления. |
UnregisterFromRuntime() |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
Wait() |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>. (Унаследовано от Object) |
Wait(Int64) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
IJavaPeerable.DisposeUnlessReferenced() |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
IJavaPeerable.Finalized() |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
IJavaPeerable.JniManagedPeerState |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенное средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |
GetJniTypeName(IJavaPeerable) |
Фрагмент — это часть пользовательского интерфейса или поведения приложения, которую можно поместить в |