ArrayAdapter三个参数和四个参数的使用区别

article/2025/9/22 23:21:06

ArrayAdapter三个参数和四个参数的使用区别:

		 //3参形式:public ArrayAdapter (Context context, int resource, T[] objects)//4参形式:public ArrayAdapter (Context context, int resource, int textViewResourceId, T[] objects)

参数介绍

  • Context context //指上下文,一般写this,或者MainActivity.this
  • int resource //指要加载的布局资源文件
  • int textViewResourceId //指加载的布局文件中TextView的Id
  • T[] objects //指要显示的数组

分析

3参和4参中的区别就是是否指定 int textViewResourceId //指加载的布局文件中TextView的Id

如果是4参,直接加入指定数据类型,执行顺利功过.

  • 布局文件主页面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"android:fastScrollEnabled="true"/></LinearLayout>
  • 要加载的项目布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"/></LinearLayout>
  • MainActivity代码
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(layout.activity_main);ListView lv = findViewById(R.id.lv);//创建一个想要显示数据的数组String[] strings={"小红","小兰","小明","小芳"};//4参形式的用法ArrayAdapter<String>lists=new ArrayAdapter<String>(this, layout.item,R.id.tv,strings);lv.setAdapter(lists);}
}
  • 运行结果
    结果正确显示
  • 3参形式呢?

如果直接拿掉int textViewResourceId 参数运行是失败的

ArrayAdapter<String>lists=new ArrayAdapter<String>(this, layout.item,strings);

结果:

直接去掉资源Id的结果
并且后台会报错: java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView

所以3参形式并不是直接去掉资源Id,就能用,否则也不会有4参形式.

  • 3参正确的用法

首先,重新建一个布局文件,但是这个布局文件与4参的不同,因为它没有相关的布局,仅有一个TextView.如下:

<?xml version="1.0" encoding="utf-8"?><TextView  xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"/>

然后,直接引用就可以了

 ArrayAdapter<String>list=new ArrayAdapter<String>(this, R.layout.item2,strings);

在这里插入图片描述
这样两个方法都掌握好了,想用哪个就用那个.


http://chatgpt.dhexx.cn/article/g6MNir5t.shtml

相关文章

【Android基础】ArrayAdapter适配器展示数据

文章目录 前言创建ListView启动渲染数据 效果图 前言 适配器充当View与数据之间的桥梁&#xff0c;本文记录下ArrayAdapter适配器展示数据&#xff1b;ArrayAdapter比较简单&#xff0c;只能显示一行文本&#xff1b; 创建ListView <?xml version"1.0" encodi…

Android 数组适配器和简单适配器

数组适配器ArrayAdapter ArrayAdapter主要用于每行列表只展示文本的情况 声明一个数组适配器 ArrayAdapter<String> arrayAdapter new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, stringArray);//stringArray为字符串数组 pr…

winhex 19.8 注册码生成工具(keygen)

下面这个是我电脑生成的&#xff0c;可以先试试&#xff0c;如果不行可以下载工具重新生成。 // WinHex license fileName: DimitarSerg Addr: dsmail.ua Addr: Ukraine Data: 0F557DBDC9F648EACF4065D7F857223E Data: 4E0656414E48F4DEE6991EC8205CB994 Cksm: F22E328E下载地…

cdr2022辅助注册机序列号

CorelDRAW2022使用专业工具踏上设计之旅&#xff0c;绘制矢量图片、调整布局、编辑照片等&#xff0c;空间广阔&#xff0c;操作精微详尽。它供给了规划者一整套的绘图工具包括圆形、矩形、多边形、方格、螺旋线&#xff0c;等等&#xff0c;并合作塑形工具&#xff0c;对各种根…

软件注册码

edit plus 注册码自动生成网页&#xff1a; http://demon.tw/my-work/editplus-regcode-online.html baoyou F3507-CC2A0-2E1E5-4802E-54FB6 http://www.jb51.net/tools/editplus/ wm ware workstation 12 注册码 5A02H-AU243-TZJ49-GTC7K-3C61N &#xff08;亲测 可用&…

各种注册码

1、navicat for mysql 10.1.7注册码,找了很多都不能用&#xff0c;终于找到一个可用的了&#xff1a; 名和组织随意,注册码是:NAVN-LNXG-XHHX-5NOO 下载地址&#xff1a;http://www.cr173.com/soft/38153.html 注册码原文&#xff1a;http://blog.sina.com.cn/s/blog_763dc8…

各种杀毒软件序列号注册码大全

瑞星杀毒软件2006升级包以及的序列号||||金山毒霸2006正版序列号注册码和升级器 看到后觉得不错&#xff0c;特来推荐给各位 瑞星杀毒软件2006升级包以及的序列号 产品序列号&#xff1a;7JE9R9-QTSIEI-EFF4SB-EJ5200 产品序列号&#xff1a;52LDJG-Q9LBCT-6ACQX2-R38200 产品序…

NB-IOT+GPS模组

NB-IOTGPS模组AM21E助力物联网基于位置的服务 定位模块大家都知道&#xff0c;就是提供位置信息的模块产品&#xff0c;定位精度在3-5米&#xff0c;主要智能穿戴&#xff0c;物品管理&#xff0c;智慧物流领域中。 在选择以智能手环、智能手表为代表的智能穿戴设备时&#xf…

NB-IoT物联网技术

一、什么是NBIOT NB-IoT是指窄带物联网(Narrow Band -Internet of Things)技术。NB-IOT聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场&#xff0c;是一种可在全球范围内广泛应用的新兴技术。NB-IOT使用License频段&#xff0c;可采取带内、保护带或独立载波等三种部署方式&#xf…

【Jetson目标检测SSD-MobileNet应用实例】(五)根据输出的检测结果,使用串口和STM32配合进行电机控制

【Jetson目标检测SSD-MobileNet应用实例】&#xff08;一&#xff09;win11中配置SSD-MobileNet网络训练境搭建 【Jetson目标检测SSD-MobileNet应用实例】&#xff08;二&#xff09;制作自己的数据集–数据集的采集、标注、预处理 【Jetson目标检测SSD-MobileNet应用实例】&am…

NB-IOT 温湿度数据上报及IOT平台数据下发(STM32L4,电信Oceanconnect, COAP协议)

在设备侧&#xff0c;智能设备采用了NB-IOT芯片&#xff0c;它和中国电信物联网开放平台之间通过CoAP协议通讯。CoAP报文的payload里是设备的应用数据。 应用server通过http/https协议和平台通讯&#xff0c;通过调用平台的开放API来控制设备&#xff0c;平台把设备上报的数据…

怎么使用nbtscan工具一条命令扫描局域网内所有的IP及MAC

具体操作方法&#xff1a; 1、下载nbtscan.rar文件并解压。 2、然后将解压好的cygwin1.dll和nbtscan.exe两文件拷贝到C:\WINDOWS\system32根目录下&#xff08;根目录下即可&#xff09;&#xff1b; 3、进入cmd窗口就可以输入命令&#xff1a;nbtscan 192.168.X.98/24&#xf…

NB-IOT的使用

目录 一、AT指令 二、串口透明传输 三、搭建自己的服务器 一、AT指令 •AT命令集是由拨号调制解调器(MODEM)的发明者贺氏公司(Hayes)为了控制Modem发明的控制协议。 • •AT是Attention的缩写,协议本身采用文本.每个命令均以AT打头,因此得名 • •主要的移动电话生产厂商诺基…

NB-IOT介绍

文章目录 简介特点超低功耗DRX模式&#xff1a;eDRX模式&#xff1a;PSM模式&#xff1a; 超大连接超低成本超强覆盖 通信协议COAP协议COAP协议消息类型COAP的请求码&#xff08;requests&#xff09;和响应码(responses)COAP的安全性 MQTT协议MQTT工作原理MQTT的消息类型 LWM2…

基于STM32的(NB-IOT(BC26))温湿度监测系统

基于STM32的&#xff08;NB-IOT(BC26)&#xff09;温湿度监测系统 闲来无事&#xff0c;用手头STM32做个项目。 成品功能&#xff1a;STM32采集温度、湿度数据&#xff0c;显示在屏幕上&#xff0c;通过NB-IOT(BC26)模块连接阿里云物联网平台接受数据并实时监控。 材料 STM3…

CAN通信----CANTest下载和安装

一、CANTest 下载 在周立功的官方网站下载免费的 CANTest软件。 下载网址&#xff1a;https://www.zlg.cn/index.php/can/down/down/id/22.html 步骤1&#xff1a;进入官网&#xff0c;点击下载 步骤2&#xff1a;下载完的安装包 二、CANTest 安装 步骤1&#xff1a;双击刚下…

NCBI的NT库比对——blastn

NCBI的NT库比对——blastn NT库比对&#xff0c;包括对测序数据和组装后的基因组序列进行NT库比对&#xff0c;查看是否存在菌污染以及是否是自己的数据。这里我提供这一部分的具体操作过程。 步骤一&#xff1a;NT全库下载 前面有一篇博文&#xff0c;提到了通过Aspera软件…

NB-IoT模块 移远BC26测试 - TCP通信

准备工作 USB转TTL线NB-IoT测试卡&#xff08;电信或者移动制式&#xff0c;BC26支持全频段&#xff0c;B5 B8都可以&#xff09; AT指令 硬件正确连接之后&#xff0c;按住轻触开关 S1 一段时间或者拉高丝印为 PWR 的信号&#xff08;排针&#xff09;一段时间让模块开机&…

NB-IoT移远BC95调试笔记 01 加网测试

一、前言 移远BC95是最早推出的NB-IoT模块&#xff0c;目前厦门这边网络都已经覆盖了。自己拿个设备来玩玩&#xff0c;这篇笔记先记录下加网测试的心得。 本文作者twowinter&#xff0c;转载请注明作者&#xff1a;http://blog.csdn.net/iotisan/ 二、加网总体思路 加网思路…

[内网渗透]—内网扫描

nbtscan Win2012 上传nbtscan和dll程序 upload D:\内网\tools\信息收集\nbtscan\nbtscan.exe上传后用nbtscan命令扫描内网其他网段 shell nbtscan.exe 192.168.52.0/24win2016 此时直接上线Win2016肯定是不行的&#xff0c;因为目标不出网无法访问到kali&#xff0c;所以要…