Android类参考---Fragment(五)
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
当View对象相关的上下文菜单显示的时候,系统会调用该方法。跟onCreateOptionMenu(Menu, MenuInflater)不同,这个方法在上下文菜单每次显示的时候,都会被调用,并且应该被填入对应的View对象。
使用onContextIntemSelected(android.view.MenuItem)方法来获取被选择的菜单项。
这个方法的默认实现是调用Activity.onCreateContextMenu方法,不过如果不想要这个默认行为,也能够不调用这个实现。
在这个方法返回之后,持有该上下文菜单是不安全的。当该上下文菜单所对应View对象被创建时,这个方法会被调用。
参数
menu 该参数指定要创建的上下文菜单。
v 该参数指定要创建的上下文菜单所对应的View对象。
menuInfo 该参数指定要显示的上下文菜单的菜单项的附加信息。这个信息会根据v参数的类型而有所不同。
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
该方法初始化Activity的标准的选项菜单的内容。应该把菜单项放到menu参数中。针对该方法的调用,必须要首先调用setHasOptionsMenu(boolean)方法。更多信息请看Activity.onCreateOptionsMenu。
参数
menu 该参数指定要放置菜单项的那个选项菜单。
public View onCreateView(LayoutInflater, inflater, ViewGroup container, Bundle savedInstanceState)
调用该方法,初始化Fragment的用户界面。这个方法是可选的,并且对于非图形化的Fragment对象,该方法会返回null(这是默认的实现)。该方法在onCreate(Bundle)和onActivityCreated(Bundle)方法之间被调用。
如果从该方法中返回一个View对象,那么在该View对象被释放时,会调用onDestroyView()方法。
参数
inflager 该LayoutInflater对象能够被用于填充Fragment对象中任何View对象。
Container 如果该参数是非空(non-null),那么它指定了Fragment对象的UI应该被绑定到这个参数所指向的容器上,它是Fragment对象的父容器。Fragment对象不应该把这个View对象添加到自己的布局中,但是能够使用它来生成View对象的LayoutParams对象。
savedInstanceState 如果该参数是非空(non-null),那么就会使用该参数中所保持的状态值来重建Fragment对象。
返回值
该方法返回对应的Fragment UI的View对象,或者是null。
public void onDestroy()
当Fragment不再被使用时,系统会调用该方法。在onStop()方法之后、onDetach()方法之前被调用。
Public void onDestroyOptionsMenu()
当该Fragment的选项菜单项目不再被包含在整体的选项菜单中时,系统会调用该方法。收到这个调用,意味着该菜单需要被重建,但是这个Fragment的项目没有被包含在最新创建的菜单中(它的onCreateOptionsMenu(Menu, MenuInflater)方法不会被调用)。
public void onDestroyView()
当先前用onCreateView(LayoutInflater, ViewGroup, Bundle)方法创建的View对象从Fragment对象中解除绑定的时候,系统会调用这个方法。在下次需要显示这个Fragment对象时,要创建一个的View对象。这个方法在onStop()方法之后、onDestroy()方法前被调用。调用这个方法与onCreateView(LayoutInflater, ViewGroup, Bundle)方法是否返回了非空的View对象无关。在这个方法调用的内部,要先保存该View对象的状态,然后才能把它从器父对象中删除。
public void onDetach()
当该Fragment对象不在跟它的Activity绑定时,系统会调用这个方法。它是在onDestroy()方法之后被调用。
public void onHiddenChanged(boolean hidden)
当该Fragment对象改变了隐藏状态(由isHidden()方法返回)时,系统会调用这个方法。Fragment初始是不隐藏的,只要Fragment对象改变了它的显示状态,就会调用该方法。
参数
hidden 如果该Fragment对象现在是隐藏的,则该参数是true,否则是false。
public void onInflate(AttributeSet attrs, Bundle savedInstanceState)
该方法在API Level 12以后已经被废弃了,请使用onInflate(Activity, AttributeSet, Bundle)方法来代替。