0

can you tell me how to check if i in this fragment then stop back stacking it!! while know am in bottom nav fragment also recycle view

what i meant when ever bottom nav button clicked it keep stacking the same workout fragment and what i want is to stack it only one time then i can back to the activity by pressed back

    var frameLayout: FrameLayout? = null
var listView:RecyclerView? = null
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_workout, container, false)

    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

        super.onViewCreated(view, savedInstanceState)
        connectVs(view)
        floatMain()
        recycler()

    }
    private fun connectVs(view: View) {
        bottomNavigationView = view.findViewById(R.id.bottomNavView)
        listView = view.findViewById(R.id.workoutLIST)
        frameLayout = view.findViewById(R.id.container)
    }


    private fun floatMain(){
        var intent:Intent
        floatingButtonBmi?.setOnClickListener {
            intent = Intent(requireContext(),MainActivity::class.java)
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
            startActivity(intent)

        }
    }

private fun recycler(){
    val array:ArrayList<Workout> = ArrayList()
    array.add(Workout("قفزة جاك","تمرن 10-20 مرة يوميا",R.drawable.jacksn))
    array.add(Workout("   الوقوف على الكرسي","تمرن بشكل مكرر يوميا ",R.drawable.chairs))
    array.add(Workout("الضغط","تمرن بقد استطاعتك \n     مع زيادة العدد تدريجيا",R.drawable.pushup))
    array.add(Workout("تمرين البطن","10 عدات \n       3 مرات يوميا ",R.drawable.crunches))
    array.add(Workout("المشي"," مشي 1,0000 خطوة يوميا",R.drawable.manwalk))
    array.add(Workout("تمرين البلانك","يوميا بقد استطاعتك \n     مع زيادة المدة تدريجيا",R.drawable.plank))


    val customWorkout:CustomWorkout = CustomWorkout(array,this) // نادينا المتغير هنا


listView?.layoutManager = LinearLayoutManager(requireContext(),LinearLayoutManager.VERTICAL,false)
listView?.adapter = customWorkout

}
 // تحت عرض الادابتر هنا ورثنا داله اللسنر الي ف الادابتر وخلاص الكلك شغال كذا
    override fun OnClick(position: Int) {
     val fragmentTransaction: FragmentTransaction = requireFragmentManager().beginTransaction()
        when(position){
             0->{
                 fragmentTransaction.replace(R.id.container,jackFragment(),"JackFrag")
                 fragmentTransaction.addToBackStack("JackFrag")
//                 fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                 fragmentTransaction.commit()

             }
            1->{

                fragmentTransaction.replace(R.id.container,ChairFragment(),"ChairFrag")
                fragmentTransaction.addToBackStack("ChairFrag")
//                fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_NONE)
                fragmentTransaction.commit()
            }
            2->{

                fragmentTransaction.replace(R.id.container,PushUpFragment(),"PushFrag")
                fragmentTransaction.addToBackStack("PushFrag")
//                fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                fragmentTransaction.commit()
            }
            3->{
                fragmentTransaction.replace(R.id.container,CrunchesFragment(),"CrunFrag")
                fragmentTransaction.addToBackStack("CrunFrag")
//                fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                fragmentTransaction.commit()

            }
            4->{
                fragmentTransaction.replace(R.id.container,WalkingFragment(),"WalkFrag")
                fragmentTransaction.addToBackStack("WalkFrag")
//                fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                fragmentTransaction.commit()
            }
            5->{
                fragmentTransaction.replace(R.id.container,PlankFragment(),"PlankFrag")
                fragmentTransaction.addToBackStack("PlankFrag")
//                fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                fragmentTransaction.commit()
            }
        }
    }






}

please help me and thx

Over Time
  • 21
  • 4
  • Does this answer your question? [How to resume existing Fragment from BackStack](https://stackoverflow.com/questions/18305945/how-to-resume-existing-fragment-from-backstack) – DrHowdyDoo Dec 26 '21 at 14:23
  • checkout this too : [Prevent The Same Fragment From Stacking More Than Once ( addToBackStack)](https://stackoverflow.com/questions/33758712/prevent-the-same-fragment-from-stacking-more-than-once-addtobackstack) – DrHowdyDoo Dec 26 '21 at 14:24

0 Answers0