让我飞

导航

注意ArrayAdapter的Add()方法

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类,因为他可以动态添加数据。

posted on 2015-04-15 18:54  让我飞  阅读(1343)  评论(0)    收藏  举报