ListFragment,即Fragment的一个子类,当我们用的一个Fragment只需要一个listview视图的时候使用

该类有几个特点:

1、ListFragment 本身具只有一个ListView视图,返回的也是一个只有ListView的布局对象

2、ListFragment 不需要指定布局,本身固定,只有一个ListView视图

3、给ListFragment中的ListView加载数据或者绑定适配器都只能出现onCreateView(),因为onCreateView方法之后,ListView对象才创建,

4、给 ListView设置适配器 用setListAdapter

5、ListFragment已经实现了其ListView中的数据项的事件监听,可根需求重写onListItemClick方法

------------------------------------------------------------------------------------------------------------------------------------------------

下面看一个Demo

注意fragment是在3.0才开始支持的 ,如果导入的包是import android.app.

清单文件中需要改最低SDK版本为11

<uses-sdk
android:minSdkVersion=""
android:targetSdkVersion="" />

如果导入的包是 import android.support.v4.app.

则清单文件不需要改动

 package com.xqx.listviewfragment;

 import android.os.Bundle;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.view.Menu; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyListFragment myfragment = new MyListFragment();
//创建管理者对象
FragmentManager manager = getFragmentManager();
//创建事务对象
FragmentTransaction action = manager.beginTransaction();
//添加
action.add(R.id.view_listfragment, myfragment);
//提交事务
action.commit();
} }

MainActivity.class

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/view_listfragment"
android:name="com.xqx.listviewfragment.MyListFragment"
/> </RelativeLayout>

layout_main.xml

 package com.xqx.listviewfragment;

 import java.util.ArrayList;
import java.util.List; import android.app.ListFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast; public class MyListFragment extends ListFragment{
private List<String> list; //适配器的数据源
private ArrayAdapter adapter; //ListView的适配器 @Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//给数据源添加数据
list = new ArrayList<String>();
list.add("第一条数据");
list.add("第二条数据");
list.add("第三条数据");
list.add("第四条数据");
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,list); } //设置适配器 必须放在onCreateView之后,因为在onCreateView初始化视图
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
//给ListView设置适配器
setListAdapter(adapter);
} @Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
Toast.makeText(getActivity(), "点击了"+getListAdapter().getItem(position).toString(), ).show();
}
}

MyListFragment.class

相关知识:

安卓开发_慕课网_Fragment实现Tab(App主界面)

最新文章

  1. Java POI 解析word文档
  2. ThinkPHP3.1.3源码分析---php文件压缩zlib.output_compression 和 ob_gzhandler
  3. mysql_query()与mysql_real_query()
  4. Ubuntu进不入系统,一直停留在ubuntu图标画面(转)
  5. spark streaming 实时计算
  6. shell如何将文件上传至ftp
  7. c#以文件流的形式输出xml(可以解决内存溢出)-XmlTextWriter
  8. Redis用户添加、分页、登录、注册、加关注案例
  9. Toolkit 一键激活Office 2010方法及Office 2010 Toolkit工具下载
  10. MPQ Storm库 源代码分析 一个
  11. iOS缓存
  12. iosNSMutableAttributedString 简单操作
  13. JDK源码阅读——ArrayList
  14. Oracle中rownum原理介绍
  15. redis批量灌库
  16. [转帖]Ansible 入门秘诀
  17. 修改文件MD5值
  18. jquery.validate 验证记录
  19. git pull 提示 There is no tracking information for the current branch
  20. java.sql.SQLException: com.mysql.jdbc.Driver

热门文章

  1. AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码
  2. ubuntu 16.04下使用 python pip的安装问题。
  3. u-boot中debug的一些总结
  4. JAVA发送http get/post请求,调用http接口、方法
  5. li内有span需要右浮的问题
  6. 监督学习Supervised Learning
  7. ReentrantLock实现原理分析
  8. ContentProvider使用总结
  9. sql cast,convert,QUOTENAME,exec 函数学习记录
  10. 深度学习论文翻译解析(一):YOLOv3: An Incremental Improvement