如何为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"};
请帮帮我... 你... ..
答案 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>
)来保存您的数据,并且适配器将正常运行。