Android---ListView控件用法

首先要使用ListView是要自定义一个适配器类的,先简单分析一下适配器怎么写:

示例程序是要使用ListView列表显示出水果的图片以及对应的水果文字描述(水果名字)。

 

public class FruitAdapter extends ArrayAdapter<Fruit>{    };

一般类这样定义,继承自一个ArrayAdapter类(Fruit是自定义的一个数据类)。

 

 首先里面定义一个

private int resourceId;
这样的值,整个项目有两个布局文件,一个activity_main,另一个是fruit_item
其中在activity_main里定义了一个<ListView>控件
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
那么刚刚定义的resourceId就是用来接收fruit_item整个文件的,这个文件在被选择的时候,是会被分配一个整型的标识符。

在这个类里面首先要定义适配器的构造函数,把要适配的数据传入这里
public FruitAdapter(Context context,int textViewResourceId,List<Fruit> objects){
super(context,textViewResourceId,objects);
resourceId=textViewResourceId;//初始化刚刚定义的私有变量
之后要重写一个方法getView();
public View getView(int position,View convertView,ViewGroup parent){}
里面有三个参数,第一个position获取当前项的一个实例,也就是说Fruit实例
第二个convertView 参数用于将之前加载好的布局进行缓存
第三个是说这个数据页面要以哪一个页面为父页面。


整个过程简单一点来说就是,把一组数据放到new出来的一个适配器里面,然后获取一个页面的ListView的id,然后
listView.setAdapter(adapter);把这个放好数据的适配器用setAdapter()方法给获取到的ListView赋值。

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...