android.support.v4.app
Class Fragment

java.lang.Object
  extended by android.support.v4.app.Fragment
All Implemented Interfaces:
android.content.ComponentCallbacks, android.view.View.OnCreateContextMenuListener
Direct Known Subclasses:
DialogFragment, ListFragment

public class Fragment
extends Object
implements android.content.ComponentCallbacks, android.view.View.OnCreateContextMenuListener

Static library support version of the framework's Fragment. Used to write apps that run on platforms prior to Android 3.0. When running on Android 3.0 or above, this implementation is still used; it does not try to switch to the framework's implementation. See the framework SDK documentation for a class overview.


Nested Class Summary
static class Fragment.InstantiationException
          Thrown by instantiate(Context, String, Bundle) when there is an instantiation failure.
static class Fragment.SavedState
          State information that has been retrieved from a fragment instance through FragmentManager.saveFragmentInstanceState.
 
Constructor Summary
Fragment()
          Default constructor.
 
Method Summary
 void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)
          Print the Fragments's state into the given stream.
 boolean equals(Object o)
          Subclasses can not override equals().
 FragmentActivity getActivity()
          Return the Activity this fragment is currently associated with.
 android.os.Bundle getArguments()
          Return the arguments supplied when the fragment was instantiated, if any.
 FragmentManager getChildFragmentManager()
          Return a private FragmentManager for placing and managing Fragments inside of this Fragment.
 FragmentManager getFragmentManager()
          Return the FragmentManager for interacting with fragments associated with this fragment's activity.
 int getId()
          Return the identifier this fragment is known by.
 android.view.LayoutInflater getLayoutInflater(android.os.Bundle savedInstanceState)
           
 LoaderManager getLoaderManager()
          Return the LoaderManager for this fragment, creating it if needed.
 Fragment getParentFragment()
          Returns the parent Fragment containing this Fragment.
 android.content.res.Resources getResources()
          Return getActivity().getResources().
 boolean getRetainInstance()
           
 String getString(int resId)
          Return a localized string from the application's package's default string table.
 String getString(int resId, Object... formatArgs)
          Return a localized formatted string from the application's package's default string table, substituting the format arguments as defined in Formatter and String.format(java.lang.String, java.lang.Object...).
 String getTag()
          Get the tag name of the fragment, if specified.
 Fragment getTargetFragment()
          Return the target fragment set by setTargetFragment(android.support.v4.app.Fragment, int).
 int getTargetRequestCode()
          Return the target request code set by setTargetFragment(android.support.v4.app.Fragment, int).
 CharSequence getText(int resId)
          Return a localized, styled CharSequence from the application's package's default string table.
 boolean getUserVisibleHint()
           
 android.view.View getView()
          Get the root view for the fragment's layout (the one returned by onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)), if provided.
 int hashCode()
          Subclasses can not override hashCode().
static Fragment instantiate(android.content.Context context, String fname)
          Like instantiate(Context, String, Bundle) but with a null argument Bundle.
static Fragment instantiate(android.content.Context context, String fname, android.os.Bundle args)
          Create a new instance of a Fragment with the given class name.
 boolean isAdded()
          Return true if the fragment is currently added to its activity.
 boolean isDetached()
          Return true if the fragment has been explicitly detached from the UI.
 boolean isHidden()
          Return true if the fragment has been hidden.
 boolean isInLayout()
          Return true if the layout is included as part of an activity view hierarchy via the <fragment> tag.
 boolean isRemoving()
          Return true if this fragment is currently being removed from its activity.
 boolean isResumed()
          Return true if the fragment is in the resumed state.
 boolean isVisible()
          Return true if the fragment is currently visible to the user.
 void onActivityCreated(android.os.Bundle savedInstanceState)
          Called when the fragment's activity has been created and this fragment's view hierarchy instantiated.
 void onActivityResult(int requestCode, int resultCode, android.content.Intent data)
          Receive the result from a previous call to startActivityForResult(Intent, int).
 void onAttach(android.app.Activity activity)
          Called when a fragment is first attached to its activity.
 void onConfigurationChanged(android.content.res.Configuration newConfig)
           
 boolean onContextItemSelected(android.view.MenuItem item)
          This hook is called whenever an item in a context menu is selected.
 void onCreate(android.os.Bundle savedInstanceState)
          Called to do initial creation of a fragment.
 com.nineoldandroids.animation.Animator onCreateAnimator(int transit, boolean enter, int nextAnim)
          Called when a fragment loads an animation.
 void onCreateContextMenu(android.view.ContextMenu menu, android.view.View v, android.view.ContextMenu.ContextMenuInfo menuInfo)
          Called when a context menu for the view is about to be shown.
 void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater)
          Initialize the contents of the Activity's standard options menu.
 android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, android.os.Bundle savedInstanceState)
          Called to have the fragment instantiate its user interface view.
 void onDestroy()
          Called when the fragment is no longer in use.
 void onDestroyOptionsMenu()
          Called when this fragment's option menu items are no longer being included in the overall options menu.
 void onDestroyView()
          Called when the view previously created by onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) has been detached from the fragment.
 void onDetach()
          Called when the fragment is no longer attached to its activity.
 void onHiddenChanged(boolean hidden)
          Called when the hidden state (as returned by isHidden() of the fragment has changed.
 void onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
          Called when a fragment is being created as part of a view layout inflation, typically from setting the content view of an activity.
 void onLowMemory()
           
 boolean onOptionsItemSelected(android.view.MenuItem item)
          This hook is called whenever an item in your options menu is selected.
 void onOptionsMenuClosed(android.view.Menu menu)
          This hook is called whenever the options menu is being closed (either by the user canceling the menu with the back/menu button, or when an item is selected).
 void onPause()
          Called when the Fragment is no longer resumed.
 void onPrepareOptionsMenu(android.view.Menu menu)
          Prepare the Screen's standard options menu to be displayed.
 void onResume()
          Called when the fragment is visible to the user and actively running.
 void onSaveInstanceState(android.os.Bundle outState)
          Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance of its process is restarted.
 void onStart()
          Called when the Fragment is visible to the user.
 void onStop()
          Called when the Fragment is no longer started.
 void onViewCreated(android.view.View view, android.os.Bundle savedInstanceState)
          Called immediately after onCreateView(LayoutInflater, ViewGroup, Bundle) has returned, but before any saved state has been restored in to the view.
 void onViewStateRestored(android.os.Bundle savedInstanceState)
          Called when all saved state has been restored into the view hierarchy of the fragment.
 void registerForContextMenu(android.view.View view)
          Registers a context menu to be shown for the given view (multiple views can show the context menu).
 void setArguments(android.os.Bundle args)
          Supply the construction arguments for this fragment.
 void setHasOptionsMenu(boolean hasMenu)
          Report that this fragment would like to participate in populating the options menu by receiving a call to onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater) and related methods.
 void setInitialSavedState(Fragment.SavedState state)
          Set the initial saved state that this Fragment should restore itself from when first being constructed, as returned by FragmentManager.saveFragmentInstanceState.
 void setMenuVisibility(boolean menuVisible)
          Set a hint for whether this fragment's menu should be visible.
 void setRetainInstance(boolean retain)
          Control whether a fragment instance is retained across Activity re-creation (such as from a configuration change).
 void setTargetFragment(Fragment fragment, int requestCode)
          Optional target for this fragment.
 void setUserVisibleHint(boolean isVisibleToUser)
          Set a hint to the system about whether this fragment's UI is currently visible to the user.
 void startActivity(android.content.Intent intent)
          Call Activity.startActivity(Intent) on the fragment's containing Activity.
 void startActivityForResult(android.content.Intent intent, int requestCode)
          Call Activity.startActivityForResult(Intent, int) on the fragment's containing Activity.
 String toString()
           
 void unregisterForContextMenu(android.view.View view)
          Prevents a context menu to be shown for the given view.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Fragment

public Fragment()
Default constructor. Every fragment must have an empty constructor, so it can be instantiated when restoring its activity's state. It is strongly recommended that subclasses do not have other constructors with parameters, since these constructors will not be called when the fragment is re-instantiated; instead, arguments can be supplied by the caller with setArguments(android.os.Bundle) and later retrieved by the Fragment with getArguments().

Applications should generally not implement a constructor. The first place application code an run where the fragment is ready to be used is in onAttach(Activity), the point where the fragment is actually associated with its activity. Some applications may also want to implement onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle) to retrieve attributes from a layout resource, though should take care here because this happens for the fragment is attached to its activity.

Method Detail

instantiate

public static Fragment instantiate(android.content.Context context,
                                   String fname)
Like instantiate(Context, String, Bundle) but with a null argument Bundle.


instantiate

public static Fragment instantiate(android.content.Context context,
                                   String fname,
                                   android.os.Bundle args)
Create a new instance of a Fragment with the given class name. This is the same as calling its empty constructor.

Parameters:
context - The calling context being used to instantiate the fragment. This is currently just used to get its ClassLoader.
fname - The class name of the fragment to instantiate.
args - Bundle of arguments to supply to the fragment, which it can retrieve with getArguments(). May be null.
Returns:
Returns a new fragment instance.
Throws:
InstantiationException - If there is a failure in instantiating the given fragment class. This is a runtime exception; it is not normally expected to happen.

equals

public final boolean equals(Object o)
Subclasses can not override equals().

Overrides:
equals in class Object

hashCode

public final int hashCode()
Subclasses can not override hashCode().

Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

getId

public final int getId()
Return the identifier this fragment is known by. This is either the android:id value supplied in a layout or the container view ID supplied when adding the fragment.


getTag

public final String getTag()
Get the tag name of the fragment, if specified.


setArguments

public void setArguments(android.os.Bundle args)
Supply the construction arguments for this fragment. This can only be called before the fragment has been attached to its activity; that is, you should call it immediately after constructing the fragment. The arguments supplied here will be retained across fragment destroy and creation.


getArguments

public final android.os.Bundle getArguments()
Return the arguments supplied when the fragment was instantiated, if any.


setInitialSavedState

public void setInitialSavedState(Fragment.SavedState state)
Set the initial saved state that this Fragment should restore itself from when first being constructed, as returned by FragmentManager.saveFragmentInstanceState.

Parameters:
state - The state the fragment should be restored from.

setTargetFragment

public void setTargetFragment(Fragment fragment,
                              int requestCode)
Optional target for this fragment. This may be used, for example, if this fragment is being started by another, and when done wants to give a result back to the first. The target set here is retained across instances via FragmentManager.putFragment().

Parameters:
fragment - The fragment that is the target of this one.
requestCode - Optional request code, for convenience if you are going to call back with onActivityResult(int, int, Intent).

getTargetFragment

public final Fragment getTargetFragment()
Return the target fragment set by setTargetFragment(android.support.v4.app.Fragment, int).


getTargetRequestCode

public final int getTargetRequestCode()
Return the target request code set by setTargetFragment(android.support.v4.app.Fragment, int).


getActivity

public final FragmentActivity getActivity()
Return the Activity this fragment is currently associated with.


getResources

public final android.content.res.Resources getResources()
Return getActivity().getResources().


getText

public final CharSequence getText(int resId)
Return a localized, styled CharSequence from the application's package's default string table.

Parameters:
resId - Resource id for the CharSequence text

getString

public final String getString(int resId)
Return a localized string from the application's package's default string table.

Parameters:
resId - Resource id for the string

getString

public final String getString(int resId,
                              Object... formatArgs)
Return a localized formatted string from the application's package's default string table, substituting the format arguments as defined in Formatter and String.format(java.lang.String, java.lang.Object...).

Parameters:
resId - Resource id for the format string
formatArgs - The format arguments that will be used for substitution.

getFragmentManager

public final FragmentManager getFragmentManager()
Return the FragmentManager for interacting with fragments associated with this fragment's activity. Note that this will be non-null slightly before getActivity(), during the time from when the fragment is placed in a FragmentTransaction until it is committed and attached to its activity.

If this Fragment is a child of another Fragment, the FragmentManager returned here will be the parent's getChildFragmentManager().


getChildFragmentManager

public final FragmentManager getChildFragmentManager()
Return a private FragmentManager for placing and managing Fragments inside of this Fragment.


getParentFragment

public final Fragment getParentFragment()
Returns the parent Fragment containing this Fragment. If this Fragment is attached directly to an Activity, returns null.


isAdded

public final boolean isAdded()
Return true if the fragment is currently added to its activity.


isDetached

public final boolean isDetached()
Return true if the fragment has been explicitly detached from the UI. That is, FragmentTransaction.detach(Fragment) has been used on it.


isRemoving

public final boolean isRemoving()
Return true if this fragment is currently being removed from its activity. This is not whether its activity is finishing, but rather whether it is in the process of being removed from its activity.


isInLayout

public final boolean isInLayout()
Return true if the layout is included as part of an activity view hierarchy via the <fragment> tag. This will always be true when fragments are created through the <fragment> tag, except in the case where an old fragment is restored from a previous state and it does not appear in the layout of the current state.


isResumed

public final boolean isResumed()
Return true if the fragment is in the resumed state. This is true for the duration of onResume() and onPause() as well.


isVisible

public final boolean isVisible()
Return true if the fragment is currently visible to the user. This means it: (1) has been added, (2) has its view attached to the window, and (3) is not hidden.


isHidden

public final boolean isHidden()
Return true if the fragment has been hidden. By default fragments are shown. You can find out about changes to this state with onHiddenChanged(boolean). Note that the hidden state is orthogonal to other states -- that is, to be visible to the user, a fragment must be both started and not hidden.


onHiddenChanged

public void onHiddenChanged(boolean hidden)
Called when the hidden state (as returned by isHidden() of the fragment has changed. Fragments start out not hidden; this will be called whenever the fragment changes state from that.

Parameters:
hidden - True if the fragment is now hidden, false if it is not visible.

setRetainInstance

public void setRetainInstance(boolean retain)
Control whether a fragment instance is retained across Activity re-creation (such as from a configuration change). This can only be used with fragments not in the back stack. If set, the fragment lifecycle will be slightly different when an activity is recreated:


getRetainInstance

public final boolean getRetainInstance()

setHasOptionsMenu

public void setHasOptionsMenu(boolean hasMenu)
Report that this fragment would like to participate in populating the options menu by receiving a call to onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater) and related methods.

Parameters:
hasMenu - If true, the fragment has menu items to contribute.

setMenuVisibility

public void setMenuVisibility(boolean menuVisible)
Set a hint for whether this fragment's menu should be visible. This is useful if you know that a fragment has been placed in your view hierarchy so that the user can not currently seen it, so any menu items it has should also not be shown.

Parameters:
menuVisible - The default is true, meaning the fragment's menu will be shown as usual. If false, the user will not see the menu.

setUserVisibleHint

public void setUserVisibleHint(boolean isVisibleToUser)
Set a hint to the system about whether this fragment's UI is currently visible to the user. This hint defaults to true and is persistent across fragment instance state save and restore.

An app may set this to false to indicate that the fragment's UI is scrolled out of visibility or is otherwise not directly visible to the user. This may be used by the system to prioritize operations such as fragment lifecycle updates or loader ordering behavior.

Parameters:
isVisibleToUser - true if this fragment's UI is currently visible to the user (default), false if it is not.

getUserVisibleHint

public boolean getUserVisibleHint()
Returns:
The current value of the user-visible hint on this fragment.
See Also:
setUserVisibleHint(boolean)

getLoaderManager

public LoaderManager getLoaderManager()
Return the LoaderManager for this fragment, creating it if needed.


startActivity

public void startActivity(android.content.Intent intent)
Call Activity.startActivity(Intent) on the fragment's containing Activity.


startActivityForResult

public void startActivityForResult(android.content.Intent intent,
                                   int requestCode)
Call Activity.startActivityForResult(Intent, int) on the fragment's containing Activity.


onActivityResult

public void onActivityResult(int requestCode,
                             int resultCode,
                             android.content.Intent data)
Receive the result from a previous call to startActivityForResult(Intent, int). This follows the related Activity API as described there in Activity.onActivityResult(int, int, Intent).

Parameters:
requestCode - The integer request code originally supplied to startActivityForResult(), allowing you to identify who this result came from.
resultCode - The integer result code returned by the child activity through its setResult().
data - An Intent, which can return result data to the caller (various data can be attached to Intent "extras").

getLayoutInflater

public android.view.LayoutInflater getLayoutInflater(android.os.Bundle savedInstanceState)

onInflate

public void onInflate(android.app.Activity activity,
                      android.util.AttributeSet attrs,
                      android.os.Bundle savedInstanceState)
Called when a fragment is being created as part of a view layout inflation, typically from setting the content view of an activity. This may be called immediately after the fragment is created from a tag in a layout file. Note this is before the fragment's onAttach(Activity) has been called; all you should do here is parse the attributes and save them away.

This is called every time the fragment is inflated, even if it is being inflated into a new instance with saved state. It typically makes sense to re-parse the parameters each time, to allow them to change with different configurations.

Here is a typical implementation of a fragment that can take parameters both through attributes supplied here as well from getArguments():

Note that parsing the XML attributes uses a "styleable" resource. The declaration for the styleable used here is:

The fragment can then be declared within its activity's content layout through a tag like this:

This fragment can also be created dynamically from arguments given at runtime in the arguments Bundle; here is an example of doing so at creation of the containing activity:

Parameters:
activity - The Activity that is inflating this fragment.
attrs - The attributes at the tag where the fragment is being created.
savedInstanceState - If the fragment is being re-created from a previous saved state, this is the state.

onAttach

public void onAttach(android.app.Activity activity)
Called when a fragment is first attached to its activity. onCreate(Bundle) will be called after this.


onCreateAnimator

public com.nineoldandroids.animation.Animator onCreateAnimator(int transit,
                                                               boolean enter,
                                                               int nextAnim)
Called when a fragment loads an animation.


onCreate

public void onCreate(android.os.Bundle savedInstanceState)
Called to do initial creation of a fragment. This is called after onAttach(Activity) and before onCreateView(LayoutInflater, ViewGroup, Bundle).

Note that this can be called while the fragment's activity is still in the process of being created. As such, you can not rely on things like the activity's content view hierarchy being initialized at this point. If you want to do work once the activity itself is created, see onActivityCreated(Bundle).

Parameters:
savedInstanceState - If the fragment is being re-created from a previous saved state, this is the state.

onCreateView

public android.view.View onCreateView(android.view.LayoutInflater inflater,
                                      android.view.ViewGroup container,
                                      android.os.Bundle savedInstanceState)
Called to have the fragment instantiate its user interface view. This is optional, and non-graphical fragments can return null (which is the default implementation). This will be called between onCreate(Bundle) and onActivityCreated(Bundle).

If you return a View from here, you will later be called in onDestroyView() when the view is being released.

Parameters:
inflater - The LayoutInflater object that can be used to inflate any views in the fragment,
container - If non-null, this is the parent view that the fragment's UI should be attached to. The fragment should not add the view itself, but this can be used to generate the LayoutParams of the view.
savedInstanceState - If non-null, this fragment is being re-constructed from a previous saved state as given here.
Returns:
Return the View for the fragment's UI, or null.

onViewCreated

public void onViewCreated(android.view.View view,
                          android.os.Bundle savedInstanceState)
Called immediately after onCreateView(LayoutInflater, ViewGroup, Bundle) has returned, but before any saved state has been restored in to the view. This gives subclasses a chance to initialize themselves once they know their view hierarchy has been completely created. The fragment's view hierarchy is not however attached to its parent at this point.

Parameters:
view - The View returned by onCreateView(LayoutInflater, ViewGroup, Bundle).
savedInstanceState - If non-null, this fragment is being re-constructed from a previous saved state as given here.

getView

public android.view.View getView()
Get the root view for the fragment's layout (the one returned by onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)), if provided.

Returns:
The fragment's root view, or null if it has no layout.

onActivityCreated

public void onActivityCreated(android.os.Bundle savedInstanceState)
Called when the fragment's activity has been created and this fragment's view hierarchy instantiated. It can be used to do final initialization once these pieces are in place, such as retrieving views or restoring state. It is also useful for fragments that use setRetainInstance(boolean) to retain their instance, as this callback tells the fragment when it is fully associated with the new activity instance. This is called after onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) and before onViewStateRestored(Bundle).

Parameters:
savedInstanceState - If the fragment is being re-created from a previous saved state, this is the state.

onViewStateRestored

public void onViewStateRestored(android.os.Bundle savedInstanceState)
Called when all saved state has been restored into the view hierarchy of the fragment. This can be used to do initialization based on saved state that you are letting the view hierarchy track itself, such as whether check box widgets are currently checked. This is called after onActivityCreated(Bundle) and before onStart().

Parameters:
savedInstanceState - If the fragment is being re-created from a previous saved state, this is the state.

onStart

public void onStart()
Called when the Fragment is visible to the user. This is generally tied to Activity.onStart of the containing Activity's lifecycle.


onResume

public void onResume()
Called when the fragment is visible to the user and actively running. This is generally tied to Activity.onResume of the containing Activity's lifecycle.


onSaveInstanceState

public void onSaveInstanceState(android.os.Bundle outState)
Called to ask the fragment to save its current dynamic state, so it can later be reconstructed in a new instance of its process is restarted. If a new instance of the fragment later needs to be created, the data you place in the Bundle here will be available in the Bundle given to onCreate(Bundle), onCreateView(LayoutInflater, ViewGroup, Bundle), and onActivityCreated(Bundle).

This corresponds to Activity.onSaveInstanceState(Bundle) and most of the discussion there applies here as well. Note however: this method may be called at any time before onDestroy(). There are many situations where a fragment may be mostly torn down (such as when placed on the back stack with no UI showing), but its state will not be saved until its owning activity actually needs to save its state.

Parameters:
outState - Bundle in which to place your saved state.

onConfigurationChanged

public void onConfigurationChanged(android.content.res.Configuration newConfig)
Specified by:
onConfigurationChanged in interface android.content.ComponentCallbacks

onPause

public void onPause()
Called when the Fragment is no longer resumed. This is generally tied to Activity.onPause of the containing Activity's lifecycle.


onStop

public void onStop()
Called when the Fragment is no longer started. This is generally tied to Activity.onStop of the containing Activity's lifecycle.


onLowMemory

public void onLowMemory()
Specified by:
onLowMemory in interface android.content.ComponentCallbacks

onDestroyView

public void onDestroyView()
Called when the view previously created by onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) has been detached from the fragment. The next time the fragment needs to be displayed, a new view will be created. This is called after onStop() and before onDestroy(). It is called regardless of whether onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) returned a non-null view. Internally it is called after the view's state has been saved but before it has been removed from its parent.


onDestroy

public void onDestroy()
Called when the fragment is no longer in use. This is called after onStop() and before onDetach().


onDetach

public void onDetach()
Called when the fragment is no longer attached to its activity. This is called after onDestroy().


onCreateOptionsMenu

public void onCreateOptionsMenu(android.view.Menu menu,
                                android.view.MenuInflater inflater)
Initialize the contents of the Activity's standard options menu. You should place your menu items in to menu. For this method to be called, you must have first called setHasOptionsMenu(boolean). See Activity.onCreateOptionsMenu for more information.

Parameters:
menu - The options menu in which you place your items.
See Also:
setHasOptionsMenu(boolean), onPrepareOptionsMenu(android.view.Menu), onOptionsItemSelected(android.view.MenuItem)

onPrepareOptionsMenu

public void onPrepareOptionsMenu(android.view.Menu menu)
Prepare the Screen's standard options menu to be displayed. This is called right before the menu is shown, every time it is shown. You can use this method to efficiently enable/disable items or otherwise dynamically modify the contents. See Activity.onPrepareOptionsMenu for more information.

Parameters:
menu - The options menu as last shown or first initialized by onCreateOptionsMenu().
See Also:
setHasOptionsMenu(boolean), onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater)

onDestroyOptionsMenu

public void onDestroyOptionsMenu()
Called when this fragment's option menu items are no longer being included in the overall options menu. Receiving this call means that the menu needed to be rebuilt, but this fragment's items were not included in the newly built menu (its onCreateOptionsMenu(Menu, MenuInflater) was not called).


onOptionsItemSelected

public boolean onOptionsItemSelected(android.view.MenuItem item)
This hook is called whenever an item in your options menu is selected. The default implementation simply returns false to have the normal processing happen (calling the item's Runnable or sending a message to its Handler as appropriate). You can use this method for any items for which you would like to do processing without those other facilities.

Derived classes should call through to the base class for it to perform the default menu handling.

Parameters:
item - The menu item that was selected.
Returns:
boolean Return false to allow normal menu processing to proceed, true to consume it here.
See Also:
onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater)

onOptionsMenuClosed

public void onOptionsMenuClosed(android.view.Menu menu)
This hook is called whenever the options menu is being closed (either by the user canceling the menu with the back/menu button, or when an item is selected).

Parameters:
menu - The options menu as last shown or first initialized by onCreateOptionsMenu().

onCreateContextMenu

public void onCreateContextMenu(android.view.ContextMenu menu,
                                android.view.View v,
                                android.view.ContextMenu.ContextMenuInfo menuInfo)
Called when a context menu for the view is about to be shown. Unlike onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater), this will be called every time the context menu is about to be shown and should be populated for the view (or item inside the view for AdapterView subclasses, this can be found in the menuInfo)).

Use onContextItemSelected(android.view.MenuItem) to know when an item has been selected.

The default implementation calls up to Activity.onCreateContextMenu, though you can not call this implementation if you don't want that behavior.

It is not safe to hold onto the context menu after this method returns.

Specified by:
onCreateContextMenu in interface android.view.View.OnCreateContextMenuListener

registerForContextMenu

public void registerForContextMenu(android.view.View view)
Registers a context menu to be shown for the given view (multiple views can show the context menu). This method will set the View.OnCreateContextMenuListener on the view to this fragment, so #onCreateContextMenu(ContextMenu, View, ContextMenuInfo) will be called when it is time to show the context menu.

Parameters:
view - The view that should show a context menu.
See Also:
unregisterForContextMenu(View)

unregisterForContextMenu

public void unregisterForContextMenu(android.view.View view)
Prevents a context menu to be shown for the given view. This method will remove the View.OnCreateContextMenuListener on the view.

Parameters:
view - The view that should stop showing a context menu.
See Also:
registerForContextMenu(View)

onContextItemSelected

public boolean onContextItemSelected(android.view.MenuItem item)
This hook is called whenever an item in a context menu is selected. The default implementation simply returns false to have the normal processing happen (calling the item's Runnable or sending a message to its Handler as appropriate). You can use this method for any items for which you would like to do processing without those other facilities.

Use MenuItem.getMenuInfo() to get extra information set by the View that added this menu item.

Derived classes should call through to the base class for it to perform the default menu handling.

Parameters:
item - The context menu item that was selected.
Returns:
boolean Return false to allow normal context menu processing to proceed, true to consume it here.

dump

public void dump(String prefix,
                 FileDescriptor fd,
                 PrintWriter writer,
                 String[] args)
Print the Fragments's state into the given stream.

Parameters:
prefix - Text to print at the front of each line.
fd - The raw file descriptor that the dump is being sent to.
writer - The PrintWriter to which you should dump your state. This will be closed for you after you return.
args - additional arguments to the dump request.


Copyright © 2013 Marek Kedzierski. All Rights Reserved.