2011-04-25 37 views
1

我一直在努力理解過去2天的ArrayAdapter,但似乎無法完全消除它們。如何分別引用2個ArrayAdapters

以下代碼按原樣運行。

private void initAdapter(ArrayList<String> aL) { 


    for (String s : aL) { 
     aL.add(s); 
    } 

    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, aL) { 
     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
     View row; 

     if (null == convertView) { 
     row = mInflater.inflate(R.layout.list_item, null); 
     } else { 
     row = convertView; 
     } 

     TextView tv = (TextView) row.findViewById(android.R.id.text1); 
     tv.setText(getItem(position)); 

     return row; 
     } 
     }); 
} 

我試圖把它做成,我可以在多個陣列,可以使用ArrayAdapter並把它們放到單獨的列表視圖的方法。 當我嘗試修改方法

private void initAdapter(ArrayList<String> aL, ListView L) { 

L.setAdapter(new ArrayAdapter<String>(this. R.layout.list_item, aL) { 

我得到一個錯誤在編譯。 此外,爲什麼你不必爲第一個ArrayAdapter指定一個ListView。它是否自動引用任何與id'列表'?

我很困惑,並堅持這一點,將非常感謝一個解釋得很好的答案。

回答

0

我想這段代碼是ListActivity的一部分。在這種情況下,方法setListAdapter()自動參考ID爲android.R.id.list的列表。對於適配器正在發生的事情,需要使用來自logcat的堆棧跟蹤來查看那裏發生的錯誤。

相關問題