简体   繁体   中英

I have a activity when user clicks a card in it it goes to an fragment.. and return to that activity how to destroy that fragment?

enter image description here I want to stop fragment when user picks orderdate and deliveryDate.

I have an activity inside that a two cards oderDate and deliveryDate when the user clicks any one of them it goes to a fragment to pick a date and i want to stop that fragment when user pick dates.

orderActivity.xml

 orderDateCard.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                isOrder = 1; // setting orderCard is true
                isDel = 0;

                fragmentContainer.setVisibility(View.VISIBLE);
                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                calender_view_fragment calender_view_fragment = new calender_view_fragment();
                fragmentTransaction.add(R.id.fragmentContainer, calender_view_fragment);
                fragmentTransaction.commit();


            }
        });
        delDateCard.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                isDel = 1; //setting deliveryCard is true
                isOrder = 0;

                fragmentContainer.setVisibility(View.VISIBLE);
                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                calender_view_fragment calender_view_fragment = new calender_view_fragment();
                fragmentTransaction.add(R.id.fragmentContainer, calender_view_fragment);
                fragmentTransaction.commit();
            }
        });

calender_view_fragment.xml

calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
        @Override
        public void onSelectedDayChange(@NonNull CalendarView calendarView, int selectedYear, int selectedMonth, int selectedDate) {
            orderYear = selectedYear;
            orderMonth = selectedMonth + 1;
            orderDate = selectedDate;


            calenderViewText.setText("PICK DELIVERY DATE");
            calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(@NonNull CalendarView calendarView, int selectedYear, int selectedMonth, int selectedDate) {
                    delDate = selectedDate;
                    delMonth = selectedMonth + 1;
                    delYear = selectedYear;
                    startOrderActivity();
                    stopCurrentFragment();


                }
            });


        }
    });
}

public void stopCurrentFragment(){



       calender_view_fragment  calender_view_fragment=new calender_view_fragment();
        getFragmentManager().beginTransaction().remove(calender_view_fragment).commitAllowingStateLoss();


    }

try this code:

getFragmentManager().popBackStack()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM