私はこのようなDateApapterクラスを持っています..
public class DateAdapter extends BaseAdapter
{
...
}
この DateApapter を使用して、「mainActivity」から 12 の異なる場所で呼び出し、constructor
この結果を DateApapter オブジェクト「mDefaultAdapter」に保存します。
mDefaultAdapter = new DateAdapter(this,days,sysDate,disablePastDays, selectedDateTypeDf);
mDefaultAdapter のこのさまざまな結果を、このように ArrayList に格納しました。
ArrayList<DateAdapter> mDefaultAdapterList = new ArrayList<DateAdapter>();
mDefaultAdapterList.add(mDefaultAdapter);
今問題に来て、
- 私の最初の呼び出し DateAdapter コンストラクターでは、1 月の詳細が返され、この結果 (1 月) を ArrayList に追加すると正常に動作します。これで、ArrayList には 1 つの項目、つまり 1 月の詳細が含まれます。
- しかし、2番目の結果(2月)をarrayListに呼び出すと、最初の結果も上書きされます。ArrayList には 2 つの項目があり、どちらの項目も 2 月の詳細です。
- つまり、DateAdapter の最終結果が ArrayList 全体に入力されます。最後に、ArrayList からのみ 12 月の詳細を取得しました。
以前の ArrayList 項目で DateAdapter の結果が上書きされるのはなぜですか? プログラム全体で静的変数やメソッドを使用していません。この問題を解決するのを手伝ってください。ありがとう..