本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


ListFramgent就是一个包含ListView的Fragment,它可以通过数据源(数组或游标)显示一系列的信息。ListFragment是非常有用处的,就像RSS,可能左边显示一个列表,右边显示被选中的列表所对应的内容。

可以通过继承ListFragment创建一个ListFragment对象。下面将展示如何使用ListFragment。

1. 创建一个工程:ListFragmentExample。

2. main.xml中的代码。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="horizontal" ><fragment     android:name="net.manoel.ListFragmentExample.Fragment1"    android:id="@+id/fragment1"    android:layout_weight="0.5"    android:layout_width="0dp"    android:layout_height="200dp" /><fragment     android:name="net.manoel.ListFragmentExample.Fragment1"    android:id="@+id/fragment2"    android:layout_weight="0.5"    android:layout_width="0dp"    android:layout_height="300dp" /></LinearLayout>
3、在re/layout下面,新建一个文件:fragment1.xml。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent">        <ListView         android:id="@id/android:list"        android:layout_width="match_parent"        android:layout_height="match_parent"                       android:layout_weight="1"        android:drawSelectorOnTop="false"/>                               </LinearLayout>
4、在包路径下面新建一个类:Fragment1.java。

public class Fragment1 extends ListFragment {    String[] presidents = {        "Dwight D. Eisenhower",        "John F. Kennedy",        "Lyndon B. Johnson",        "Richard Nixon",        "Gerald Ford",        "Jimmy Carter",        "Ronald Reagan",        "George H. W. Bush",        "Bill Clinton",        "George W. Bush",        "Barack Obama"    };    @Override    public View onCreateView(LayoutInflater inflater,     ViewGroup container, Bundle savedInstanceState) {                return inflater.inflate(R.layout.fragment1, container, false);    }    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setListAdapter(new ArrayAdapter<String>(getActivity(),            android.R.layout.simple_list_item_1, presidents));    }        public void onListItemClick(ListView parent, View v,     int position, long id)     {                  Toast.makeText(getActivity(),             "You have selected " + presidents[position],             Toast.LENGTH_SHORT).show();    }  }
5、按F11在模拟器上调试。会看见有两个信息列表。

6、随便点击一行,就会有一个消息弹出。


由于在main.xml中分别设置了两个ListFragment的android:layout_height属性,所以这两个列表的高度不一样。


更多相关文章

  1. Android(安卓)音乐播放器 完整案例分析
  2. Android(安卓)列表按照时间排序
  3. adb 获取平台号
  4. Android开发之获取常用android设备参数信息
  5. Android(安卓)之Notification 用法
  6. android上类似iphone上的开关按钮
  7. Android(安卓)ListView控件使用
  8. MobSF安装使用及过程中遇到的错误
  9. 定制自己的 Android(安卓)Dialog 信息提示对话框

随机推荐

  1. Android(安卓)Network Resources
  2. 关于RelativeLayout的一点经验
  3. ScrollView滚动条的各种设置
  4. android界面布局
  5. ImageView的属性android:scaleType
  6. Android(安卓)ListView动态刷新
  7. 系出名门Android(9) - 数据库支持(SQLite
  8. android 结构分析
  9. Android预定义样式
  10. ADT在线安装与更新