https://www.bilibili.com/video/BV1mW411S7ot?p=42
=============================================================
1.listView
2.simpleAdapter
3.baseAdapter
4.关于baseAdapter在binding中的应用
############## 这是栅栏
##############
##############
##############
=============================================================
listView是一个用来输出列表的view.在手机app中经常要用到列表比如笔记app中每个笔记的显示也是运用listView.
下面来大致介绍各种listView的用法
本文章大致介绍这几种listView方法.simpleadapter,baseAdapter与expandablelistAdapter
其中simpleadapter一般用于简单的列表,虽然可以实现任意的布局,但是无法达到逻辑判断的目的,比如无法让每一个list显示的图片不一样.而baseAdapter基本可以满足所有的需求.
下面先介绍listView的使用(如果只需要输出一个个数据的话,只用listView即可)
##############
##############
##############
1.先生成,将listView拖入到窗口中
2.接下来创建listView要用到的数据
在res/values文件夹下创建新的xml文件arrays.xml
里面的内容如下
<?xml version="1.0" encoding="utf-8"?>A
B
C
String-array表示listView要用到的数据集
3.回到listView界面.
可以通过在
中输入android:entries="@array/a"调用或者在该界面修改
结果如图
但是现在很多功能还不能实现,比如一个list中包含多个数据,下面的simpleAdapter可以进一步解决问题
##############
##############
##############
##############
##############
##############
**simpleAdapter是一个方法
构造函数为 SimpleAdapter(Context context,List<? Extends Map**
其中context为上下文,只需传入this
data为数据源,数据源可以通过map的形式传入
Resource是布局文件的id,因为simpleAdapter已经可以实现简单的布局了,所以另外建一个layout文件出来
from是map对象中的key值
to是要传入上面resource布局文件的view的 id所组成的数组
1.所以先建立data数据源
List<Map<String,?>> inf=new ArrayList<>(); //map
for(int i=0;i<3;i++){
Map<String, String> temp=new HashMap<>();r
temp.put(“name”,“feng”+i);
temp.put(“age”,10+i+“”);
inf.add(temp);
}
上面代码简单添加了几个数据,现在inf可以作为参数传入
2.然后新建立一个layout作为单个列表的格式
示例这里创建一个constraintLayout名为lista
里面建两个textView(id分别为textView1与textView2)
3.from需要表明要传入变量的id
String[] from={“name”,“age”};
4.int[] to需要表明新创建的layout里面要被赋值的textView的id
Int[] to={R.id.textView1,R.id.textView2}
5.现在创建simpleAdapter
SimpleAdapter simpleAdapter=new SimpleAdapter(this,inf,R.layout.lista,from,to);
6.listView添加该adapter
listView.setAdapter(simpleAdapter);
结果如图
simpleAdapter基本可以满足大部分简单的需求,而baseAdapter可以实现逻辑编写
##############
##############
##############
##############
##############
BaseAdapter为一个抽象类,所以要使用它需要实现一个类出来并实现它的抽象方法
1.先定义列表要显示的数据,这里同simpleAdapter的数据一样
List<Map<String,?>> inf=new ArrayList<>(); //map
for(int i=0;i<3;i++){
Map<String, String> temp=new HashMap<>();r
temp.put(“name”,“feng”+i);
temp.put(“age”,10+i+“”);
inf.add(temp);
}
2.实现BaseAdapter类
@Override
public int getCount() { //表示列表中的个数 ,即inf中的个数
return inf.size();
}
@Override
public Object getItem(int position) { //获取指定位置的东西
return inf.get(position);
}
@Override
public long getItemId(int position) { //获取指定位置物品的id,此处原样返回即可
return position;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://img-blog.csdnimg.cn/img_convert/3f032a0b7db6fe79d2b08dbdbbb5f186.jpeg)
最后的最后
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的
最后,互联网不存在所谓的寒冬,只是你没有努力罢了!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
获取!!(备注:Android)**
![](https://img-blog.csdnimg.cn/img_convert/3f032a0b7db6fe79d2b08dbdbbb5f186.jpeg)
最后的最后
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的
[外链图片转存中…(img-fi1b3TAQ-1712377905286)]
最后,互联网不存在所谓的寒冬,只是你没有努力罢了!