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赋值。

原文地址:https://www.cnblogs.com/rainbow-1/p/14502206.html