随笔 - 160  文章 - 0  评论 - 0  阅读 - 18429

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赋值。
posted on   GHOST-CR  阅读(402)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示