Я использую 7 фрагментов, которые представляют дни недели, я могу успешно датировать свои фрагменты при запуске.Проблема, которую я не могу найти, это;Я хотел бы повторно датировать каждый фрагмент после того, как я выбрал новую дату из своей Календарной активности (фрагменты слева от моей выбранной даты будут предшествовать дням, а фрагменты справа от моей выбранной даты будут в будущем).Любые мысли / помощь будут с благодарностью приняты:)
Я искал этот сайт в поисках вдохновения почти месяц
Это один из моих фрагментов;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.tab_fragment1, container, false);
Button dateChangeBtn = rootView.findViewById(R.id.changeDateBtn1);
dateChangeBtn.setOnClickListener(this);
ctx = MainActivity.ctx;
return rootView;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mTodayDate1 = view.findViewById(R.id.todayDate1);
//set the date on the fragment dependant on whether the fragment is to the right or
//the left of 'Today's' fragment
int calAddAmount = TF1 - MainActivity.getAdjustedCurrentItem();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, calAddAmount);
Date date = calendar.getTime();
mTodayDate1.setText(MainActivity.getFriendlyDate(date));
}
/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
@Override
public void onClick(View v) {
Intent calendarIntent = new Intent(ctx, CalendarActivity.class);
startActivityForResult(calendarIntent, CALENDAR_REQUEST );
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CALENDAR_REQUEST) {
if (resultCode == RESULT_OK) {
try {
String dateString = data.getStringExtra(CalendarActivity.CALENDAR_REPLY);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateString);
mTodayDate1.setText(MainActivity.getFriendlyDate(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
}
Работает нормально, как есть, возвращает дату из календаря и датирует только этот фрагмент