2010-10-22 38 views
2

如何給ListView賦值? 當我嘗試使用字符串數組創建ListView時,我的進程突然停止。使用字符串數組的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"}; 

請幫我... Thnk你..

+1

嗨,瑪雅,你可以在這裏複製錯誤跟蹤plz? – Sephy 2010-10-22 11:02:04

+0

如果您期望得到合理的答案,您必須發佈您的logcat – Falmarri 2010-10-22 17:36:41

回答

3

嘛,你讓100個對象的數組中

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

但只填寫了前4個元素,這意味着其餘的96個字符串爲空。這可能會導致ListView嘗試填寫列表時出錯,因爲它假定列表中有100個元素。只嘗試在new String[100];

0

上根據需要分配儘可能多的內存。Tseng的答案對可能的原因是正確的。 ListView將看到數組的大小爲100,並會嘗試使用剩餘元素中的空值。

使用任何子類List<String>(例如,ArrayList<String>Vector<String>)來保存您的數據,並且適配器將正常運行。

相關問題