ListView和Adapter数据适配器的简单介绍,实战讲述Flutter跨平台框架应用

  • Listview

  • 显示大量相同格式数据

listSelector //listView每项在选中、按下等不同状态时的Drawable

divider //ListView每项间的间隔Drawable

dividerHeight // ListView每项间间隔的间隔高度

在这里插入图片描述

setAdapter() //设置数据适配器

setOnItemClickListener() // 设置每项点击事件监听

addHeaderView() // 添加头视图

addFooterView() //添加脚视图

setEmptyView() //设置数据项为0时的空数据视图

  • 监听事件:这个监听的例子是设置了一个头视图 项的下标改变 所以用 position-listview.getHeaderViewsCount() 计算项的下标位置 获取正确的对象 在这里插入图片描述

  • Adapter数据适配器 将各种数据以合适的形式绑定到控件上 像listview, gridview, spinner 等等等控件 都会用到Adapter绑定数据,介绍三种Adapter

  1. ArrayAdapter:支持泛型操作,最简单的一个Adapter,只能展现一行文字

  2. SimpleAdapter:同样具有良好扩展性的一个Adapter,可以自定义多种效果

  3. BaseAdapter:抽象类,实际开发中我们会继承这个类并且重写相关方法,用得最多的一个Adapter

先从简单的介绍

  1. ArrayAdapter 在这里插入图片描述

参数1:当前上下文环境

参数2:android.R.layout.simple_list_item_1

是android自带的一个简单布局 里面只包含一个id为text1的TextView也就是参数3,ArrayAdapter只能显示一行数据,显示文本信息 使用这个系统提供的布局就可以,android系统还给我们提供了其他一些好用的模板

simple_list_item_1 : 单独一行的文本框

simple_list_item_2 : 两个文本框组成

simple_list_item_checked : 每项都是由一个已选中的列表项

imple_list_item_multiple_choice : 都带有一个复选框

simple_list_item_single_choice : 都带有一个单选钮

参数4:绑定的数据 这里使用是string数组上面提到过ArrayAdapter支持泛型 也可以绑定一个list显示效果,绑定了listview

在这里插入图片描述

  1. SimpleAdapter

simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等

在这里插入图片描述

显示结果

在这里插入图片描述

这里引用的布局是系统默认simple_list_item_2,listView项显示的效果是根据你的布局显示的,你想写的多炫酷叼都可以

  1. BaseAdapter

BaseAdapter是开发中最常用的适配器ArrayAdapter, SimpleAdapter 都继承于BaseAdapter。BaseAdapter可以完成自己定义的Adapter,可以将任何复杂组合的数据和资源,以任何你想要的显示效果展示给大家。

继承BaseAdapter之后,需要重写以下四个方法:getCount,getItem,getItemId,getView。

系统在绘制ListView之前,将会先调用getCount方法来获取Item的个数。每绘制一个Item就会调用一次getView方法,在getView中引用事先定义好的layout布局确定显示的效果并返回一个View对象作为一个Item显示出来。

这两个方法是自定ListView显示效果中最为重要的,同时只要重写好了这两个方法,ListView就能完全按开发者的要求显示。而getItem和getItemId方法将会在调用ListView的响应方法的时候被调用到。

自定义布局文件(listview的项的显示效果)

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

android:layout_width=“match_parent”

android:layout_height=“match_parent”>

<ImageView

android:id=“@+id/image_photo”

android:layout_width=“70dp”

android:layout_height=“70dp”

android:padding=“10dp”/>

<TextView

android:id=“@+id/name”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:textSize=“20dp”

android:layout_toRightOf=“@id/image_photo”/>

<TextView

android:id=“@+id/age”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:textSize=“20dp”

android:layout_toRightOf=“@id/image_photo”

android:layout_below=“@id/name”

android:layout_marginTop=“10dp”/>

student学生类

public class Student {

private String name;

private int age;

private int photo;

public String getName() {

return name;

}

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip204888 备注Android获取(资料价值较高,非无偿)
img

文末

我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。

以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持)

部分资料一览:

  • 330页PDF Android学习核心笔记(内含8大板块)

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

  • Android BAT大厂面试题(有解析)

1-1711572752551)]

[外链图片转存中…(img-XA7CdRVI-1711572752551)]

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

[外链图片转存中…(img-SiQiCxuL-1711572752552)]

  • Android BAT大厂面试题(有解析)

[外链图片转存中…(img-ku9rstAS-1711572752552)]

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android Studio中,要使用ListView和SimpleAdapter数据适配器,可以按照以下步骤进行: 1. 在布局文件中添加ListView组件。 2. 创建一个ArrayList对象来保存ListView中的数据。 3. 创建一个SimpleAdapter对象,将ListView中的数据绑定到适配器中。 4. 在Activity或Fragment中设置ListView适配器,以便将数据显示在ListView中。 以下是一个示例代码: ```java // 获取ListView组件 ListView listView = findViewById(R.id.list_view); // 创建一个ArrayList对象来保存数据 ArrayList<HashMap<String, String>> dataList = new ArrayList<>(); // 添加数据 HashMap<String, String> dataItem1 = new HashMap<>(); dataItem1.put("title", "标题1"); dataItem1.put("content", "内容1"); dataList.add(dataItem1); HashMap<String, String> dataItem2 = new HashMap<>(); dataItem2.put("title", "标题2"); dataItem2.put("content", "内容2"); dataList.add(dataItem2); // 创建SimpleAdapter对象 SimpleAdapter adapter = new SimpleAdapter(this, dataList, android.R.layout.simple_list_item_2, new String[]{"title", "content"}, new int[]{android.R.id.text1, android.R.id.text2}); // 设置ListView适配器 listView.setAdapter(adapter); ``` 在这个示例代码中,我们创建了一个包含两个列表项的ArrayList对象,然后使用SimpleAdapter数据绑定到ListView中,其中android.R.layout.simple_list_item_2是一个内置的布局文件,可以用来显示两行文本,适合于显示标题和内容。在SimpleAdapter的构造函数中,我们指定了数据源的键名和布局文件中TextView的ID,这样SimpleAdapter就知道如何将数据绑定到ListView中了。最后,我们将适配器设置到ListView中,这样ListView就可以显示我们的数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值