Condividi tramite


Fragment Classe

Definizione

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto 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
Ereditarietà
Fragment
Derivato
Attributi
Implementazioni

Commenti

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity. L'interazione con i frammenti viene eseguita tramite FragmentManager, che può essere ottenuta tramite Activity#getFragmentManager() Activity.getFragmentManager() e Fragment#getFragmentManager() Fragment.getFragmentManager().

La classe Fragment può essere usata in molti modi per ottenere un'ampia gamma di risultati. Nel core rappresenta una particolare operazione o interfaccia in esecuzione all'interno di un oggetto più grande Activity. Un frammento è strettamente legato all'attività in cui si trova e non può essere usato a parte uno. Anche se Fragment definisce il proprio ciclo di vita, tale ciclo di vita dipende dall'attività: se l'attività viene arrestata, non è possibile avviare frammenti all'interno di esso; quando l'attività viene distrutta, tutti i frammenti verranno distrutti.

Tutte le sottoclassi di Fragment devono includere un costruttore no-argument pubblico. Il framework spesso ricrea un'istanza di una classe di frammento quando necessario, in particolare durante il ripristino dello stato e deve essere in grado di trovare questo costruttore per crearne un'istanza. Se il costruttore no-argument non è disponibile, si verificherà un'eccezione di runtime in alcuni casi durante il ripristino dello stato.

Argomenti trattati qui: <ol><li>Older Platforms<li>Lifecycle<li Layout<li>>Back Stack</ol>

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

Per altre informazioni sull'uso dei frammenti, vedere la Guida per sviluppatori frammenti .

</Div>

"OlderPlatforms"><h3>Older Platforms</h3>

Anche se l'API Fragment è stata introdotta in android.os.Build.VERSION_CODES#HONEYCOMB, è disponibile anche una versione dell'API in per l'uso su piattaforme precedenti tramite androidx.fragment.app.FragmentActivity. Per altri dettagli, vedere il post di blog Frammenti per tutti .

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

Anche se il ciclo di vita di un frammento è legato alla propria attività, ha una propria ruga nel ciclo di vita delle attività standard. Include metodi del ciclo di vita delle attività di base, #onResumead esempio , ma anche importanti sono metodi correlati alle interazioni con l'attività e la generazione dell'interfaccia utente.

La serie principale di metodi del ciclo di vita chiamati per attivare uno stato ripreso di un frammento (interagendo con l'utente) è:

<ol><li>#onAttach chiamato una volta che il frammento è associato alla relativa attività. <li>#onCreate chiamato per eseguire la creazione iniziale del frammento. <li>#onCreateView crea e restituisce la gerarchia di visualizzazione associata al frammento. <li>#onActivityCreated indica al frammento che la sua attività ha completato il proprio Activity#onCreate Activity.onCreate(). <li>#onViewStateRestored indica al frammento che è stato ripristinato tutto lo stato salvato della gerarchia di visualizzazione. <li>#onStart rende il frammento visibile all'utente (in base all'attività contenitore avviata). <li>#onResume rende il frammento che inizia a interagire con l'utente (in base all'attività che lo contiene viene ripreso). </Ol>

Poiché un frammento non viene più usato, passa attraverso una serie inversa di callback:

<il frammento ol><li>#onPause non interagisce più con l'utente perché l'attività è in pausa o un'operazione di frammento lo sta modificando nell'attività. <il frammento li>#onStop non è più visibile all'utente perché l'attività viene arrestata o un'operazione di frammento la modifica nell'attività. <li>#onDestroyView consente al frammento di pulire le risorse associate alla relativa visualizzazione. <li>#onDestroy chiamato per eseguire la pulizia finale dello stato del frammento. <li>#onDetach chiamato immediatamente prima che il frammento non sia più associato alla sua attività. </Ol>

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

I frammenti possono essere usati come parte del layout dell'applicazione, consentendo di modularizzare meglio il codice e di regolare più facilmente l'interfaccia utente sullo schermo in cui è in esecuzione. Ad esempio, è possibile esaminare un semplice programma costituito da un elenco di elementi e visualizzare i dettagli di ogni elemento.

Il codice XML di layout di un'attività può includere &lt;fragment&gt; tag per incorporare istanze di frammento all'interno del layout. Ecco ad esempio un layout semplice che incorpora un frammento:

{

Metodo deprecato. Usare la libreria androidx.fragment.app.Fragmentdi frammenti Jetpack per un comportamento coerente in tutti i dispositivi e l'accesso al ciclo di vita.

Documentazione java per android.app.Fragment.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.

Costruttori

Fragment()

Costruttore predefinito.

Fragment(IntPtr, JniHandleOwnership)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

Activity

Restituisce l'attività a cui è attualmente associato questo frammento.

AllowEnterTransitionOverlap

Restituisce un valore che indica se la transizione di uscita e l'immissione della transizione si sovrappongono o meno. -oppure- Imposta se la transizione di uscita e immettere la transizione si sovrappone o meno.

AllowReturnTransitionOverlap

Restituisce un valore che indica se la transizione restituita e la transizione di reinserirsi si sovrappongono o meno. -oppure- Imposta se la transizione restituita e la transizione di reinserimento si sovrappongono o meno.

Arguments

Restituisce gli argomenti forniti a #setArguments, se presenti. -oppure- Specificare gli argomenti di costruzione per questo frammento.

ChildFragmentManager

Restituisce un FragmentManager privato per l'inserimento e la gestione di frammenti all'interno di questo frammento.

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Context

Restituisce il Context frammento a cui è attualmente associato.

EnterTransition

Restituisce la transizione che verrà utilizzata per spostare le visualizzazioni nella scena iniziale. -oppure- Imposta la transizione che verrà utilizzata per spostare le visualizzazioni nella scena iniziale.

ExitTransition

Restituisce la transizione che verrà utilizzata per spostare le visualizzazioni all'esterno della scena quando il frammento viene rimosso, nascosto o scollegato quando non si rimuove lo stack indietro. -oppure- Imposta la transizione che verrà usata per spostare le visualizzazioni all'esterno della scena quando il frammento viene rimosso, nascosto o scollegato quando non si rimuove lo stack nascosto.

FragmentManager

Restituisce FragmentManager per interagire con i frammenti associati all'attività di questo frammento.

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
Host

Restituisce l'oggetto host di questo frammento.

Id

Restituisce l'identificatore che questo frammento è noto.

IsAdded

Restituisce true se il frammento è attualmente aggiunto alla relativa attività.

IsDetached

Restituisce true se il frammento è stato scollegato in modo esplicito dall'interfaccia utente.

IsHidden

Restituisce true se il frammento è stato nascosto.

IsInLayout

Restituisce true se il layout viene incluso come parte di una gerarchia di visualizzazione attività tramite il < frammento> tag.

IsRemoving

Restituisce true se questo frammento è in corso di rimozione dall'attività.

IsResumed

Restituisce true se il frammento è nello stato ripreso.

IsStateSaved

Restituisce true se questo frammento viene aggiunto e il relativo stato è già stato salvato dall'host.

IsVisible

Restituisce true se il frammento è attualmente visibile all'utente.

JniIdentityHashCode

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
JniPeerMembers

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

LayoutInflater

Restituisce l'oggetto LayoutInflater memorizzato nella cache utilizzato per gonfiare le visualizzazioni di questo frammento.

LoaderManager

Restituisce loaderManager per questo frammento, creandolo, se necessario.

ParentFragment

Restituisce il frammento padre contenente questo frammento.

PeerReference

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
ReenterTransition

Restituisce la transizione che verrà utilizzata per spostare le visualizzazioni nella scena quando viene restituito a causa della rimozione di uno stack indietro. -oppure- Imposta la transizione che verrà usata per spostare le visualizzazioni nella scena quando viene restituito a causa della rimozione di uno stack indietro.

Resources

Restituisce getActivity().getResources().

RetainInstance

Controllare se un'istanza di frammento viene mantenuta nella ricreazione dell'attività, ad esempio da una modifica della configurazione.

ReturnTransition

Restituisce la transizione che verrà utilizzata per spostare le visualizzazioni all'esterno della scena quando il frammento si prepara a essere rimosso, nascosto o scollegato a causa della rimozione dello stack nascosto. -oppure- Imposta la transizione che verrà usata per spostare le visualizzazioni dalla scena quando il frammento si prepara a essere rimosso, nascosto o scollegato a causa della rimozione dello stack nascosto.

SharedElementEnterTransition

Restituisce la transizione che verrà utilizzata per gli elementi condivisi trasferiti nella scena del contenuto. -oppure- Imposta la transizione che verrà utilizzata per gli elementi condivisi trasferiti nella scena del contenuto.

SharedElementReturnTransition

Restituisce la transizione che verrà usata per gli elementi condivisi trasferiti di nuovo durante un pop dello stack indietro. -oppure- Imposta la transizione che verrà usata per gli elementi condivisi trasferiti di nuovo durante un pop dello stack indietro.

Tag

Ottiene il nome del tag del frammento, se specificato.

TargetFragment

Restituisce il frammento di destinazione impostato da #setTargetFragment.

TargetRequestCode

Restituisce il codice della richiesta di destinazione impostato da #setTargetFragment.

ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

UserVisibleHint

Impostare un suggerimento sul sistema per stabilire se l'interfaccia utente di questo frammento è attualmente visibile all'utente.

View

Ottenere la visualizzazione radice per il layout del frammento (quello restituito da #onCreateView), se specificato.

Metodi

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Dispose()

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
Dispose(Boolean)

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
Dump(String, FileDescriptor, PrintWriter, String[])

Stampare lo stato dei frammenti nel flusso specificato.

Equals(Object)
Obsoleti.

Le sottoclassi non possono eseguire l'override di equals().

GetHashCode()
Obsoleti.

Le sottoclassi non possono eseguire l'override di hashCode().

GetString(Int32)

Restituisce una stringa localizzata dalla tabella di stringhe predefinita del pacchetto dell'applicazione.

GetString(Int32, Object[])

Restituisce una stringa localizzata dalla tabella di stringhe predefinita del pacchetto dell'applicazione.

GetText(Int32)

Restituisce una stringa predefinita localizzata con stile CharSequence dalla tabella di stringhe predefinita del pacchetto dell'applicazione.

GetTextFormatted(Int32)

Restituisce una stringa predefinita localizzata con stile CharSequence dalla tabella di stringhe predefinita del pacchetto dell'applicazione.

Instantiate(Context, String)

Come #instantiate(Context, String, Bundle) ma con un bundle di argomenti Null.

Instantiate(Context, String, Bundle)

Creare una nuova istanza di un frammento con il nome della classe specificato.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio di questo oggetto.

(Ereditato da Object)
OnActivityCreated(Bundle)

Viene chiamato quando è stata creata l'attività del frammento e viene creata un'istanza della gerarchia di visualizzazione del frammento.

OnActivityResult(Int32, Result, Intent)

Ricevere il risultato da una chiamata precedente a #startActivityForResult(Intent, int).

OnAttach(Activity)

Metodo deprecato.

OnAttach(Context)

Chiamato quando un frammento viene collegato per la prima volta al contesto.

OnAttachFragment(Fragment)

Chiamato quando un frammento è associato come elemento figlio di questo frammento.

OnConfigurationChanged(Configuration)

Chiamato dal sistema quando la configurazione del dispositivo cambia durante l'esecuzione del componente.

OnContextItemSelected(IMenuItem)

Questo hook viene chiamato ogni volta che viene selezionata una voce in un menu di scelta rapida.

OnCreate(Bundle)

Chiamato per eseguire la creazione iniziale di un frammento.

OnCreateAnimator(FragmentTransit, Boolean, Int32)

Chiamato quando un frammento carica un'animazione.

OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo)

Chiamato quando un menu di scelta rapida per l'oggetto view sta per essere visualizzato.

OnCreateOptionsMenu(IMenu, MenuInflater)

Inizializzare il contenuto del menu delle opzioni standard dell'attività.

OnCreateView(LayoutInflater, ViewGroup, Bundle)

Chiamato per creare un'istanza del frammento nella visualizzazione dell'interfaccia utente.

OnDestroy()

Chiamato quando il frammento non è più in uso.

OnDestroyOptionsMenu()

Chiamato quando le voci di menu di questo frammento non vengono più incluse nel menu delle opzioni generali.

OnDestroyView()

Chiamato quando la vista creata in precedenza da #onCreateView è stata scollegata dal frammento.

OnDetach()

Chiamato quando il frammento non è più associato alla relativa attività.

OnGetLayoutInflater(Bundle)

Restituisce l'oggetto LayoutInflater utilizzato per gonfiare le visualizzazioni di questo frammento.

OnHiddenChanged(Boolean)

Chiamato quando lo stato nascosto (come restituito da #isHidden() del frammento è cambiato.

OnInflate(Activity, IAttributeSet, Bundle)

Metodo deprecato.

OnInflate(Context, IAttributeSet, Bundle)

Chiamato quando viene creato un frammento come parte dell'inflazione del layout di visualizzazione, in genere dall'impostazione della visualizzazione contenuto di un'attività.

OnInflate(IAttributeSet, Bundle)
Obsoleti.

Metodo deprecato.

OnLowMemory()

Questo viene chiamato quando il sistema complessivo è in esecuzione insufficiente sulla memoria e i processi in esecuzione attiva devono ridurre l'utilizzo della memoria.

OnMultiWindowModeChanged(Boolean)

Chiamato quando l'attività del frammento passa dalla modalità schermo intero alla modalità multi-finestra e visa-versa.

OnMultiWindowModeChanged(Boolean, Configuration)

Chiamato quando l'attività del frammento passa dalla modalità schermo intero alla modalità multi-finestra e visa-versa.

OnOptionsItemSelected(IMenuItem)

Questo hook viene chiamato ogni volta che viene selezionata una voce nel menu delle opzioni.

OnOptionsMenuClosed(IMenu)

Questo hook viene chiamato ogni volta che il menu delle opzioni viene chiuso (dall'utente annullando il menu con il pulsante Indietro/Menu o quando viene selezionato un elemento).

OnPause()

Chiamato quando il frammento non viene più ripreso.

OnPictureInPictureModeChanged(Boolean)

Chiamato dal sistema quando l'attività viene modificata in e dalla modalità immagine in immagine.

OnPictureInPictureModeChanged(Boolean, Configuration)

Chiamato dal sistema quando l'attività viene modificata in e dalla modalità immagine in immagine.

OnPrepareOptionsMenu(IMenu)

Preparare il menu delle opzioni standard dello schermo da visualizzare.

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

Callback per il risultato dalla richiesta di autorizzazioni.

OnResume()

Chiamato quando il frammento è visibile all'utente e in esecuzione attivamente.

OnSaveInstanceState(Bundle)

Chiamato per chiedere al frammento di salvare lo stato dinamico corrente, in modo che possa essere ricostruito in un secondo momento in una nuova istanza del processo viene riavviato.

OnStart()

Chiamato quando il frammento è visibile all'utente.

OnStop()

Chiamato quando il frammento non viene più avviato.

OnTrimMemory(TrimMemory)

Chiamato quando il sistema operativo ha determinato che è un buon momento per un processo per tagliare la memoria non necessario dal processo.

OnViewCreated(View, Bundle)

Chiamato immediatamente dopo #onCreateView(LayoutInflater, ViewGroup, Bundle) che è stato restituito, ma prima che qualsiasi stato salvato sia stato ripristinato nella visualizzazione.

OnViewStateRestored(Bundle)

Viene chiamato quando tutto lo stato salvato è stato ripristinato nella gerarchia di visualizzazione del frammento.

PostponeEnterTransition()

Posticipare la transizione di tipo Fragment fino a #startPostponedEnterTransition() quando o FragmentManager#executePendingTransactions() non viene chiamato .

RegisterForContextMenu(View)

Registra un menu di scelta rapida da visualizzare per la visualizzazione specificata (più visualizzazioni possono visualizzare il menu di scelta rapida).

RequestPermissions(String[], Int32)

Richiede le autorizzazioni da concedere all'applicazione.

SetEnterSharedElementCallback(SharedElementCallback)

Quando si usano transizioni personalizzate con Frammenti, il callback di transizione enter viene chiamato quando questo frammento viene collegato o scollegato quando non si rimuove lo stack indietro.

SetExitSharedElementCallback(SharedElementCallback)

Quando si usano transizioni personalizzate con Frammenti, il callback di transizione di uscita viene chiamato quando questo frammento viene collegato o scollegato quando si estrae lo stack nascosto.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetHasOptionsMenu(Boolean)

Segnalare che questo frammento desidera partecipare al popolamento del menu delle opzioni ricevendo una chiamata a #onCreateOptionsMenu e i metodi correlati.

SetInitialSavedState(Fragment+SavedState)

Impostare lo stato salvato iniziale da cui deve essere ripristinato il frammento al momento della prima costruzione, come restituito da FragmentManager#saveFragmentInstanceState(Fragment) FragmentManager.saveFragmentInstanceState.

SetMenuVisibility(Boolean)

Impostare un suggerimento per verificare se il menu del frammento deve essere visibile.

SetTargetFragment(Fragment, Int32)

Destinazione facoltativa per questo frammento.

ShouldShowRequestPermissionRationale(String)

Ottiene un valore che indica se è necessario visualizzare l'interfaccia utente con razionale prima di richiedere un'autorizzazione.

StartActivity(Intent)

Chiamare Activity#startActivity(Intent) dall'attività contenitore del frammento.

StartActivity(Intent, Bundle)

Chiamare Activity#startActivity(Intent, Bundle) dall'attività contenitore del frammento.

StartActivityForResult(Intent, Int32)

Chiamare Activity#startActivityForResult(Intent, int) dall'attività contenitore del frammento.

StartActivityForResult(Intent, Int32, Bundle)

Chiamare Activity#startActivityForResult(Intent, int, Bundle) dall'attività contenitore del frammento.

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

Chiamare Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle) dall'attività contenitore del frammento.

StartPostponedEnterTransition()

Iniziare le transizioni posticipate dopo #postponeEnterTransition() la chiamata.

ToArray<T>()

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterForContextMenu(View)

Impedisce la visualizzazione di un menu di scelta rapida per la visualizzazione specificata.

UnregisterFromRuntime()

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
IJavaPeerable.Finalized()

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

GetJniTypeName(IJavaPeerable)

Un frammento è un elemento dell'interfaccia utente o del comportamento di un'applicazione che può essere inserito in un oggetto Activity.

Si applica a