以下の AcitvityResult 関数から選択するたびに。マイ アクティビティが更新され、このアクティビティから以前に設定されたデータが空にリセットされます。分析を通じて、onActivityResult と関係があると思います。私の質問は、以前に設定したデータを失いたくないため、アクティビティの結果がアクティビティを更新するのを防ぐことができるということです。これが私の onactivity 結果関数です。
更新: ClassA.class
final Button btnValidate = (Button) findViewById(R.id.btnValidate);
btnValidate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mSelectedCalendar != null) {
final Intent intent = new Intent();
intent.setAction(String.valueOf(Utils
.CalenderToInteger(mSelectedCalendar)));
setResult(RESULT_OK, intent);
} else {
setResult(RESULT_CANCELED);
}
finish();
}
});
ClassB.クラス
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_DEPARTURE_DATE && resultCode == RESULT_OK) {
Calendar cal = Utils.IntegerToCalendar(Integer.parseInt(data
.getAction()));
Utils.setDate(mTxtDepartureDate, cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
if (mTxtReturnDate.getTag() != null) {
Date departureDate = (Date) mTxtDepartureDate.getTag();
Calendar cal2 = Calendar.getInstance();
cal2.setTime(departureDate);
Utils.SetDayElapsed(cal2, 7);
Utils.setDate(mTxtReturnDate, cal2.get(Calendar.YEAR),
cal2.get(Calendar.MONTH),
cal2.get(Calendar.DAY_OF_MONTH));
}
} else if (requestCode == REQUEST_RETURN_DATE
&& resultCode == RESULT_OK) {
Calendar cal = Utils.IntegerToCalendar(Integer.parseInt(data
.getAction()));
Utils.setDate(mTxtReturnDate, cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
}
}