自定义列表,直接用BaseAdapter做
1、创建一个CustomListView Activity
2、绑定一个custom_listview.xml,里面加一个listview,再把这个Activity设为启动Activity
3、在Activity中,通过ID获取listview,给他设置一个BaseAdapter
4、BaseAdapter是个抽象类,直接设置属性的话会创建一个BaseAdapter的子类,里面有几个抽象方法
5、再给BaseAdapter添加一些数据
6、再建一个custom_listcell.xml,来存放列表项,这是个水平布局的linearlayout,里面在放个ImageView和一个垂直布局的LinearLayout
7、再建一个customlistcelldata类,用来表示列表项里的各个属性
8、建好后建个数组存几个测试数据,接下来开始实现getView()
9、在linearlayout中通过资源实现布局,用layoutinflater创建一个布局解释器,让它去解释一个ID(Custom_listcell)
10、创建布局中的控件后,获取要设置的数据,用setImageResource、setText设置数据
改进:
开发时不建议把Adapter写在同一个类中
新建一个CustomListViewAdapter,扩展自baseAdapter,对Context对象进行保存
之后再CustomListView中的setAdapter中直接写一个CustomListViewAdapter对象
最后有三个文件、列表:CustomListView、列表项的数据提供者:CUstomListViewAdapter、列表项数据:CustomListCellData
创建一个xml比较麻烦,可以直接新建一个扩展自listActivity的Activity:CustomListViewActivity,改成启动Activity
这个Activity里直接包括一个listview,直接setListAdapter()就可以了,快速创建列表的方法
要在上面的Activity添加其他元素,可以自己定义布局,定义weight属性,决定空间分布
自定义好了之后再onCreate中setContentView就可以了,但是自定义布局的listview的ID必须是android:id="@android:id/list"
1、创建一个CustomListView Activity
2、绑定一个custom_listview.xml,里面加一个listview,再把这个Activity设为启动Activity
3、在Activity中,通过ID获取listview,给他设置一个BaseAdapter
4、BaseAdapter是个抽象类,直接设置属性的话会创建一个BaseAdapter的子类,里面有几个抽象方法
5、再给BaseAdapter添加一些数据
6、再建一个custom_listcell.xml,来存放列表项,这是个水平布局的linearlayout,里面在放个ImageView和一个垂直布局的LinearLayout
7、再建一个customlistcelldata类,用来表示列表项里的各个属性
8、建好后建个数组存几个测试数据,接下来开始实现getView()
9、在linearlayout中通过资源实现布局,用layoutinflater创建一个布局解释器,让它去解释一个ID(Custom_listcell)
10、创建布局中的控件后,获取要设置的数据,用setImageResource、setText设置数据
改进:
开发时不建议把Adapter写在同一个类中
新建一个CustomListViewAdapter,扩展自baseAdapter,对Context对象进行保存
之后再CustomListView中的setAdapter中直接写一个CustomListViewAdapter对象
最后有三个文件、列表:CustomListView、列表项的数据提供者:CUstomListViewAdapter、列表项数据:CustomListCellData
创建一个xml比较麻烦,可以直接新建一个扩展自listActivity的Activity:CustomListViewActivity,改成启动Activity
这个Activity里直接包括一个listview,直接setListAdapter()就可以了,快速创建列表的方法
要在上面的Activity添加其他元素,可以自己定义布局,定义weight属性,决定空间分布
自定义好了之后再onCreate中setContentView就可以了,但是自定义布局的listview的ID必须是android:id="@android:id/list"