为什么循环加倍在ArrayList中添加的项目

时间:2013-09-30 12:59:01

标签: java android arraylist android-arrayadapter

someclass_adapterEvents_part有20个项目。循环结束后,GlobalData.buffer得到40,someclass_adapter得到40,我真的很困惑! someclass_adapter和GlobalData.buffer在循环之前都是空的。

SomeClass tmp_sc;
for (int i = 0; i < events_part.size(); i++)
{
    tmp_sc = events_part.get(i);
    someclass_adapter.add(tmp_sc);
    GlobalData.buffer.add(tmp_sc);
}

someclass_adaper是扩展ArrayAdapter(SomeClass)的适配器 和buffer是静态ArrayList(SomeClass)。它在java中,特别是android代码。 我使用Global.buffer来初始化someclass_adapter,如

someclass_adapter = new SomeClassAdapter(this, R.layout.lv_events_item, GlobalData.buffer);

1 个答案:

答案 0 :(得分:3)

看起来你的someclass_adapter正在包装缓冲区实例。所以基本上你要将相同的元素两次添加到同一个ArrayList中。将它们添加到适配器就足够了。