- 每次使用一个ListFragment时系统就会创建一个ListView。因此没有必要显示的在onCreateView()方法中创建一个ListView。
- 而在ListFragment中使用onCreateView()方法可以实现自己的ListView,需要创建一个自定义的XML布局文件。当与ListFragment一起使用时,需要精确地定义它并且必须包含一个将id设置为android:id=”@id/android:list”的ListView。同时,对于自定义的ListFragment,需要指定自己的分隔符和选择器。分隔符定义了列表中的项,选择器会显示在被选中的项上。
public void onActivityCreated(Bundle savedInstanceState){
mPies = resources.getStringArray(R.array.pie_array);
setListAdapter(new ArrayAdapter<String>(this.getActivity(),
adnroid.R.layout.simple_list_item_1, mPies));
}
mPies数组中的每一元素都用adnroid.R.layout.simple_list_item_1这个系统自带的预定义布局来显示。
- Grid视图在包含行和列的网格中显示数据,可将Grid组件组装在fragment中来显示一组数据。要创建一个显示网格的fragment,需要创建仅包含一个grid视图的布局文件如下:
grid_fragment.xml
< ?xml version="1.0" encoding="utf-8">
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_paernt"
android:numColumns="2">
< /GridView>
- 在对应的Activity代码为:
GridView mGrid;
String[] mPies;
@override
public void onActivityCreated(Bundle savedInstanceState)
super.onActivityCreated(savedInstanceState);
mPies = getResources();
mGrid.setAdapter(new ArrayAdapter<String>(getActivity()),
android.R.Layout.simple_list_item1,mPies);
}
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){
mGrid = (GridView)inflater.inflate(R.layout.grid_fragment, container,false);
}
inflate()第一个参数设置为R.layout.grid_fragment,表示一个格子的样子。
- Gallery将数据显示在一个能够横向滑动的视图中,适用于显示图像因为可以遍历他们。
- AdapterViewFlipper一次显示一个视图并提供了在视图之间来回翻转的功能,其拥有一个在视图之间自动翻转的选项。可将其看成是一种创建视图的幻灯片放映效果的功能。