BaseAdapter之ArrayAdapter

ArrayAdapter是BaseAdapter的一个具体实现,可直接使用泛型进行构造,能像List一样直接对Adapter进行增删操作。也是最简单的一个了

ArrayAdapter使用示例:

运行效果图:

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//要显示的数据

String[] strs = {"基神","B神","翔神","曹神","J神"};

//创建ArrayAdapter

ArrayAdapter adapter = new ArrayAdapter

(this,android.R.layout.simple_expandable_list_item_1,strs);

//获取ListView对象,通过调用setAdapter方法为ListView设置Adapter设置适配器

ListView list_test = (ListView) findViewById(R.id.list_test);

list_test.setAdapter(adapter);

}

}

一些相关的东西:

1.除了通过数组外,我们还可以写到一个数组资源文件中:

比如:在res\valuse下创建一个数组资源的xml文件:arrays.xml:

语文

数学

英语

接着布局的listview属性设置下这个列表项:

android:id="@id/list_test"

android:layout_height="match_parent"

android:layout_width="match_parent"

android:entries="@array/myarray"/>

就可以了~

当然我们也可以在Java代码中这样写:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this,

R.array.myarray,android.R.layout.simple_list_item_multiple_choice );

同样也是可以的!

2.一开始也说了这个ArrayAdapter支持泛型,那么集合必不可少啦,比如,这样写:

List data = new ArrayList();

data.add("基神");

data.add("B神");

ArrayAdapter adapter = new ArrayAdapter

(this,android.R.layout.simple_expandable_list_item_1,data);

3.我们看到了在实例化ArrayAdapter的第二个参数: android.R.layout.simple_expandable_list_item_1 其实这些是系统给我们提供好的一些ListView模板,有下面几种:

simple_list_item_1 : 单独一行的文本框

simple_list_item_2 : 两个文本框组成

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

simple_list_item_multiple_choice : 都带有一个复选框

simple_list_item_single_choice : 都带有一个单选钮

java arrayadapter_Android之ArrayAdapter详解相关推荐

  1. Java单元测试之JUnit4详解

    2019独角兽企业重金招聘Python工程师标准>>> Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @B ...

  2. java -jar 和 -cp详解

    java -jar 和 -cp详解 命令行执行程序 假如我们有一个程序,把它打包成Test.jar,如何运行才能成功输出Hello World package com.test; public cla ...

  3. java访问修饰符详解——学java,零基础不怕,不只要理论,更要实践+项目,a href=http://www.bjweixin.com太原维信科技提供 /a...

    java访问修饰符详解--学java,零基础不怕,不只要理论,更要实践+项目 <a href=http://www.bjweixin.com>太原维信科技提供 </a> pub ...

  4. Java编程配置思路详解

    Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...

  5. Java 8 Stream API详解--转

    原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java 8引入 ...

  6. 你真的弄明白了吗?Java并发之AQS详解

    你真的弄明白了吗?Java并发之AQS详解 带着问题阅读 1.什么是AQS,它有什么作用,核心思想是什么 2.AQS中的独占锁和共享锁原理是什么,AQS提供的锁机制是公平锁还是非公平锁 3.AQS在J ...

  7. java定时任务框架elasticjob详解

    这篇文章主要介绍了java定时任务框架elasticjob详解,Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架.该项目基于成熟的开源产品Quartz和Zo ...

  8. Java RMI远程方法调用详解

    Java RMI远程方法调用详解     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51992182 一.Java R ...

  9. Java之toString()方法详解

    Java之toString()方法详解 Java中 toString()方法在Object类中和Intent类中都有定义,作用类似,但显示形式有点区别 一.Object类中toString()方法 t ...

最新文章

  1. 三大运营商3G无线上网套餐资费对比
  2. leetcode python 011
  3. toolStripButton调整大小并只显示text
  4. P4198 楼房重建 线段树 + 区间合并
  5. 【TensorFlow学习笔记:神经网络优化(6讲)】
  6. oracle数字类型ef映射,Entity Framework 学习中级篇5—使EF支持Oracle9i - ♂风车车.Net - 博客园...
  7. ==和equals()比较
  8. 【连载】如何掌握openGauss数据库核心技术?秘诀五:拿捏数据库安全(4)
  9. php 防止access token过期,微信調用接口,防止Access_token過期的方法
  10. 使用frp通过ssh访问公司内网机器
  11. matlab m语言建模,MATLAB M语言高级编程
  12. 【图像压缩】基于PCNN实现图像的压缩重建附matlab代码
  13. 答题小程序后台使用方法
  14. matlab怎么做多元非线性拟合,如何用matlab进行多元非线性拟合
  15. Pytorch环境配置与安装(Anaconda、Pycharm、Jupyter)
  16. Codeforces 480D Parcels(dp)
  17. 在ubuntu上搭建IC数模混合环境
  18. Uniapp——生成二维码
  19. 做律师的风险不止于此啊!!
  20. 【JZOJ 省选模拟】铺路 (road )

热门文章

  1. 解决微信小程序长页面滚动到底部点击底部的输入框后输入框漂浮且页面滚动到顶部
  2. 什么是Java内存模型?
  3. 23种设计模式之命令模式和策略模式的区别
  4. MDPI参考文献引用
  5. c语言 伪随机数程序,C语言的伪随机数
  6. Cloudcompare错误:an error occurred while loading‘ ’:the third party libary in charge of,las
  7. 狂装激光雷达,新造车跑偏了吗?
  8. Java-二维字符数组
  9. 神经网络模型之BP算法及实例分析
  10. 哪个互联网行业职位更有前途?这些技术有优势