2011-04-25 33 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的堆栈跟踪来查看那里发生的错误。

相关问题