简体   繁体   English

如果选中单选按钮,则希望在单击按钮时打开片段 1。 否则在单击按钮时打开片段 2

[英]if radio button is checked want to open fragment 1 on button click. else open fragment 2 on button click

在此处输入图像描述

when employee radio button is checked on click plus button open fragment1 when position radio is check on click plus button open fragment 2当员工单选按钮在点击加号按钮时打开片段 1 当 position 单选按钮在点击加号按钮时打开片段 2


 setCurrentFragment(Fragment1())
        if (binding.incNavToolBar.rbEmployee.isChecked) {
            binding.incNavToolBar.ivToolbarEnd.setOnClickListener {
                findNavController().navigate(r.id.fragment1)
            }
        }
       
        if (binding.incNavToolBar.rbPosition.isChecked) {
            binding.incNavToolBar.ivToolbarEnd.setOnClickListener {
                findNavController().navigate(r.id.fragment2)
            }
        }

private fun setCurrentFragment(currentFragment: Fragment) {
        activity?.supportFragmentManager?.beginTransaction()
            ?.replace(R.id.fragmentContainerMenu, currentFragment)
            ?.commit()
    }

Your problem is that you're trying to assign the action inside the condition, which will not give you dynamic result apart from your initial clicks assignments.您的问题是您试图在条件内分配操作,除了您的初始点击分配之外,这不会给您动态结果。 To achieve this you have to flip your conditions inside your action, something like this:为此,您必须在操作中翻转条件,如下所示:

  binding.incNavToolBar.ivToolbarEnd.setOnClickListener {
            if (binding.incNavToolBar.rbEmployee.isChecked) {
                findNavController().navigate(r.id.fragment1)
            } else {
                findNavController().navigate(r.id.fragment2)
            }
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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