我有一个像这样的 DateAapter 类..
public class DateAdapter extends BaseAdapter
{
...
}
我在我的“mainActivity”的 12 个不同的地方调用这个 DateApapter,方法是使用constructor
这个结果并将这个结果存储在一个 DateApapter 对象“mDefaultAdapter”中,就像这样..
mDefaultAdapter = new DateAdapter(this,days,sysDate,disablePastDays, selectedDateTypeDf);
并像这样将 mDefaultAdapter 的各种结果存储在 ArrayList 中。
ArrayList<DateAdapter> mDefaultAdapterList = new ArrayList<DateAdapter>();
mDefaultAdapterList.add(mDefaultAdapter);
现在来解决问题,
- 在我的第一次调用 DateAdapter 构造函数中,它返回一月份的详细信息,我将此结果(一月)添加到 ArrayList 中,它的工作正常。现在 ArrayList 有一个项目,即一月份的详细信息。
- 但是当我将第二个结果(二月)调用到 arrayList 时,它也覆盖了第一个结果。现在 ArrayList 有两个项目,这两个项目都是二月份的详细信息。
- 这意味着 DateAdapter 的最后一个结果填充了整个 ArrayList。最后我只从 ArrayList 获得了 12 月的详细信息。
为什么 DateAdapter 结果在以前的 ArrayList 项中被覆盖?我没有在整个程序中使用任何静态变量或方法。请帮我解决这个问题。谢谢..