У меня есть собственный календарь, который показывает 7 дней недели в верхней части упражнения.Я хочу, чтобы когда пользователь нажимал в день, чтобы добавить новый фрагмент с уникальным тегом, я мог бы перезвонить и показать его снова с данными, введенными пользователем, когда пользователь нажимает в тот же день, которые уже нажимают и помещают данные.Вот как выглядит мое приложение -> http://prntscr.com/o276v6
Я пытаюсь сделать это с помощью addtoBackStack (tag) и вызвать popbackstack.
public class CalendarView extends LinearLayout{
...
private FragmentManager manager;
private FragmentTransaction transaction;
private CalendarAdapter mAdapter; //CalendarAdapter is a class that i make to fill the gridview with dates
...
private void setGridCellClickEvents(){ //when a date pressed
calendarGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
manager=((Activity)context).getFragmentManager(); //FragmentManager
HomeFragment selected=new HomeFragment();
int position1=position; //position in gridview 1-7
Object current_date= mAdapter.getItem(position); //getting the selected date from the adapter as object
String tag =formater1.format(current_date); //format the date from the object
boolean backstack_exist =manager.popBackStackImmediate(tag,0);
if (!backstack_exist && manager.findFragmentByTag(tag) == null){
transaction= manager.beginTransaction(); //FragmentTransaction
transaction.replace(R.id.user_frame,selected,"position"+position)
.addToBackStack(tag) // addtobackstack with unique tag e.g 15 06 19
.commit();
}else {
manager.popBackStack(tag,0); //popbackstack that unique tag
}
Log.d(TAG,"Changed");
}
});
Но с помощью popbackstack удалите предыдущие записи в backstack, поэтому я теряю фрагменты с данными. Так что я думаю, что использование popbackstack - неправильный способ, или я могу переопределить некоторые методы, такие как onDestroy, чтобы не удалять фрагменты при вызовеметод поп-стека.Или я должен сделать что-то в onSaveInstanceState, чтобы сохранить мой фрагмент и данные?Я новичок в Android, использующий некоторый код и ссылку на ссылку, поэтому я понимаю ваш код и узнаю что-нибудь по достоинству.