ArrayAdapter类可以作为ListView等的适配器资源,并且可以动态向适配器中添加新的数据,这就是ArrayAdapter.Add()方法的作用。但是在使用该方法时如果出错,那就需要检查ArrayAdapter构造方法中的参数T[] objects了,如果这个参数设置成了固定大小的数据类型的话,是不能完成添加的。这个Add()方法其实是在向这个参数中动态添加数据,而如果这个参数大小固定,添加时会出现异常。

举个例子:

  1. //创建ListView对象
  2. ListView mylv = new ListView(this);
  3. //要显示的数据
  4. String[] str = new String[] {"Hello", "World"};
  5. //创建Adapter
  6. ArrayAdapter arrayAdapter = new ArrayAdapter<String>(
  7. this,
  8. android.R.layout.simple_expandable_list_item_1,
  9. str);
  10. mylv.setAdapter(arrayAdapter);
  11. setContentView(mylv);
  12.  
  13. //this.arrayAdapter.add("!");

这样也就可以显示ListView了,但是想要动态添加数据的话就会出现异常,原因是字符串数组str是一个定长的数组,它不可以动态添加一条字符串,也即第13行的代码运行时会出错。所以推荐使用List类,因为他可以动态添加数据。

注意ArrayAdapter的Add()方法的更多相关文章

  1. [deviceone开发]-动态添加组件add方法的示例

    一.简介 这个示例详细介绍ALayout的add方法的使用(原理也适用于Linearlayout),以及add上去的新ui和已有的ui如何数据交换,初学者推荐.二.效果图 三.相关下载 https:/ ...

  2. jquery的add()方法扩大选择返回

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 用HashSet的add方法谈hashcode和equals方法重写

    本文主要通过用HashSet的add方法讲一下hashCode和equals方法重写.错误的地方望指正. 1.了解HashSet的add方法 了解一个方法的好办法是看源码,所以先看源码 private ...

  4. EntityFramework Add方法与Attach区别

    一 先发问. 问题:在使用EF过程中,能否有一个方法可以直接执行传入的SQL语句.纠结的只找到了调用存储过程的方法,难道要SqlHelper.cs?    二 友情提示 本文内容参考自MSDN. 三 ...

  5. C#用Open与Add方法打开word文档的区别

    C#打开word文档常用有两种方法:Add与Open. Microsoft.Office.Interop.Word._Document doc = (Document)appWord.Document ...

  6. thinkphp添加数据 add()方法

    thinkphpz内置的add()方法用于向数据库表添加数据,相当于SQL中的INSERT INTO 行为添加数据 add 方法是 CURD(Create,Update,Read,Delete / 创 ...

  7. 在Vue的构造器里我们写一个add方法,然后我们用实例的方法调用它

    html <div id="app"> <div>{{message}}</div> </div> js var vm = new ...

  8. select元素添加option的add()方法 | try{}catch{}

    1.javascript中的select元素添加option使用add()方法 select的add方法,第一个参数是需要被添加的option元素,第二个参数决定了被添加的位置 普通浏览器中,第二个参 ...

  9. TreeSet集合的add()方法源码解析(01.Integer自然排序)

    >TreeSet集合使用实例 >TreeSet集合的红黑树 存储与取出(图) >TreeSet的add()方法源码     TreeSet集合使用实例 package cn.itca ...

随机推荐

  1. ubuntu 16 mysql安装包安装 (推荐在线安装)

    /etc/init.d/中的文件命名为mysql cp好各种文件后 ./mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/my ...

  2. tomcat启动时 myeclipse控制台中文乱码

    情况1: tomcat中conf目录下有个叫server.xml的文件,里面 <Connector port="8080" protocol="HTTP/1.1&q ...

  3. [译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序

    本文转自:http://www.skcode.cn/archives/281 本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建 ...

  4. Android "adb devices no permissions"

    列出当前连接设备时出现以下情况 [user@dell platform-tools]# ./adb devices List of devices attached ???????????? no p ...

  5. linux命令(4):mkdir命令

    linux mkdir 命令 用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1.命令格式: mkdir [选项] 目录... 2.命 ...

  6. poj 1384 Piggy-Bank(完全背包)

    Piggy-Bank Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 10830   Accepted: 5275 Descr ...

  7. C# 根据前台校验的值,决定是否执行后台方法

    <asp:Button ID="Add" runat="server" Text="加入" class="add" ...

  8. centos7搭建samb

    1,smb配置文件 [global] workgroup = WORKGROUP netbios name = LinuxSir05 server string = Linux Samba Serve ...

  9. AndroidStudio关联svn并上传代码到svn服务器上

    打开AndroidStudio,按Ctrl+Shif+S快捷键,进入Settings设置页面.如上图所示,找到Version Control->点击Subversion->右边框口中勾选U ...

  10. 清除oracle中的缓存(具体细节未知, 慎用)

    oracle中的缓存主要是指SGA中的:1.share pool2.database buffer cache清空命令如下:首先要登录到sqlplus命令下,输入如下命令即可:SQL> alte ...