ListView 的使用大致上可以分为四个步骤:添加 ListView 组件、存储数据、设置列表项item的布局文件、加载数据/资源进行显示、添加监听。

这篇文章主要讲一下最简单的ArrayAdapter的用法

示例效果如下:

主layout文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><ListViewandroid:id="@+id/lvTest"android:layout_width="match_parent"android:layout_height="match_parent"/>
</LinearLayout>

list_item的布局文件(当然使用ArrayAdapter不定义这个item布局也是可以的。可以使用系统自带的android.R.layout.simple_list_item_1):

<?xml version="1.0" encoding="UTF-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="#FF00FF"android:padding="15dp"android:textSize="16sp"
>
</TextView>
MainActivity.java
package com.example.ArrayAdapter;import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//1. 准备数据源ListView  listview = findViewById(R.id.lvTest);final String[] citys = {"上海","北京","天津","江苏","河南","西藏","新疆","湖南","湖北"};
/*       List<String> listdata = new ArrayList<String>();listdata.add("上海");listdata.add("北京");listdata.add("天津");listdata.add("江苏");*///2.将数据源添加到适配器中 android.R.layout.simple_list_item_1 为内置默认Item布局,这里可以自定义比如:R.layout.list_itemArrayAdapter arrayAdapter = new ArrayAdapter(MainActivity.this, R.layout.list_item, citys); //listdata和citys均可//3. 将适配器中的数据添加到ListView 中listview.setAdapter(arrayAdapter);//为 ListView 的列表项添加鼠标点击事件listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {/*** @param adapterView 发生单击事件的列表项 ListView* @param view        被单击控件 view* @param i           在列表项中的位置 position* @param l           被单击列表项的行ID*/@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {String Tag = "onItemClick======";Log.d(Tag, "position=" + i);Log.d(Tag, "行 ID" + l);Toast.makeText(MainActivity.this, citys[i], Toast.LENGTH_SHORT).show();}});}
}

Android Listview ArrayAdapter示例相关推荐

  1. Android ListView+ArrayAdapter简单用法

    ListView+ArrayAdapter可以几行代码实现一个简单的列表,不用再写一个复杂的继承BaseAdapter的Adapter 最简单的示例 直接用android自带的item布局,几行代码搞 ...

  2. Android Listview SimpleAdapter的使用完整示例(实现用户列表)

    上一篇文章我们讲了Android Listview ArrayAdapter示例_左眼看成爱的博客-CSDN博客 这篇文章我们来讲一下 Android Listview基于SimpleAdapter的 ...

  3. Android ListView示例教程

    We will learn how to create a simple Android ListView and launch a new activity on selecting a singl ...

  4. Android Listview 自定义BaseAdapter的实现及Listview优化示例

    上一篇文章中我们讲了Android Listview SimpleAdapter的使用完整示例(实现用户列表)_左眼看成爱的博客-CSDN博客 本示例实现的效果图: 每个item中的checkbox选 ...

  5. Android ListView与Arrayadapter之间的搭配使用

    在做安卓开发的时候很多时候都要用到ListView来显示数据,ListView使用的也很广泛,用到了ListView就会使用到adapter适配器,关键就在于adapter,刚开始学安卓的时候就根本不 ...

  6. Android的ArrayAdapter、SimpleAdapter、BaseAdapter与ListView的使用

    工程目录: MainActivity package com.example.demo_four;import androidx.appcompat.app.AppCompatActivity;imp ...

  7. 带有自定义适配器示例教程的Android ListView

    In this tutorial we'll use a CustomAdapter that populates the custom rows of the Android ListView wi ...

  8. Android运行ListView的代码,Android ListView组件详解及示例代码

    Android 列表组件 ListView 列表组件是开发中经常用到组件,使用该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显示数据. 下面看一个例子: 新建一个项目Lesson8_L ...

  9. android的listview多选功能,Android ListView实现单选及多选等功能示例

    本文实例讲述了Android ListView实现单选及多选等功能的方法.分享给大家供大家参考,具体如下: 在项目中也遇到过给ListView的item添加选择功能.比如一个网购APP,有个历史浏览页 ...

最新文章

  1. Python爬虫框架Scrapy学习笔记
  2. ffmpeg-20160526-git-bin
  3. 「深度」在水下机器人开疆扩土之时,避免沦为泡沫应成为全行业重点
  4. YOLOv3目标检测有了TensorFlow实现,可用自己的数据来训练
  5. PAT1002. 写出这个数
  6. 【报告分享】2020新中国人才报告:共赢人力资本新生态-哈佛商业评论.pdf(附下载链接)...
  7. 『科学计算_理论』矩阵求导
  8. java实现车牌头像识别_LPR java车牌图像处理 输入一个车牌照片(不是整车的照片) - 下载 - 搜珍网...
  9. Unity 3D 特效学习记录
  10. 浏览器兼容性测试工具
  11. SpringbootJPA分页 PageRequest过时
  12. 开发板识别不了SD/TF卡
  13. 雨课堂《工程伦理》期末答案
  14. python爬取头条付费专栏视频_用Python编写爬取头条视频的代码
  15. 软件工程专业毕业计算机水平,软件工程专业很“霸气”,不管985还是“二本”,毕业几乎都高薪就业...
  16. 均值滤波器类型_滤波器的种类归纳
  17. 磁敏感定量成像技术的基本方法和临床应用
  18. C语言编程>第二十一周 ⑥ 请补充main函数,该函数的功能是:从键盘输入一个字符串,即一个指定,然后把这个字符及其后面的所有字符全部删除,结果仍然保存在原串中。
  19. vue-pdf 插件 不翻页 滚动效果
  20. 【设计模式】Builder模式

热门文章

  1. 路由器孕妇模式防辐射 保护还是营销噱头?
  2. python文本挖掘试卷_使用Python进行文本挖掘:没想到你竟是这样的全职高手...
  3. 自用笔记-机载计算机与PX4系列的配合
  4. 计算机毕业设计ssm高校教室管理系统9y8cv系统+程序+源码+lw+远程部署
  5. HTML----春晓
  6. matlab 以竖线 分隔,用哪个字符作为标题中的分隔竖线
  7. 【财富空间】王阳明:做人,“成色”比“斤两”更重要
  8. 如何正确使用Exact Audio Copy抓取无损音乐
  9. 实验6:CUP的控制模块实现CPU全部模块连接
  10. Java8的Stream API使用(笔记)