ListView使用String Array

时间:2010-10-22 10:49:44

标签: android string listview

如何为ListView提供值? 当我尝试使用String数组创建ListView时,我的进程突然停止。

     public String[] items_list=new String[100];
     items_list[0]="11";
     items_list[1]="22";
     items_list[2]="33";
     items_list[3]="44";
     ListView listitems=(ListView)findViewById(R.id.list);
     adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items_list);
     listitems.setAdapter(adapter);

但是,如果我使用ite声明初始化字符串数组,它正在工作。为什么会这样?

     public String[] items_list={"chocolate","lime juice","icecreame"};

请帮帮我... 你... ..

2 个答案:

答案 0 :(得分:3)

好吧,你正在制作一个包含100个对象的数组

 public String[] items_list=new String[100];
 items_list[0]="11";
 ...
 items_list[3]="44";

但是你只填充前4个元素,这意味着剩下的96个字符串为空。当ListView尝试填写列表时,这可能会导致您的错误,因为它假定列表中有100个元素。尽量在new String[100];

处根据需要分配尽可能多的内存

答案 1 :(得分:0)

Tseng的回答是关于可能的原因。 ListView将看到数组的大小为100,并将尝试使用其余元素中的空值。

使用List<String>的任何子类(例如ArrayList<String>Vector<String>)来保存您的数据,并且适配器将正常运行。