繁体   English   中英

选项为 select(两个无线电组)时隐藏和显示项目

[英]Hide and show item when option is select (two radiogroup)

当在两个单选按钮中的任何一个上选择一个选项时,我正在尝试隐藏和显示图像。 两个单选按钮作为一个工作,只是我不能让它们工作。

        var isChecking = true
        var mCheckedId = R.id.rb1

        override fun onViewCreated(view: View, savedInstanceState: Bundle?){
        super.onViewCreated(view, savedInstanceState)
        _binding = FragmentLevelBinding.bind(view)

        binding.rgLeft.setOnCheckedChangeListener { group, checkedId ->
            if (checkedId != -1 && isChecking) {
                isChecking = false
                binding.rgRight.clearCheck()
                mCheckedId = checkedId
            }
            isChecking = true
        }
        binding.rgRight.setOnCheckedChangeListener {
                group, checkedId ->
            if (checkedId != -1 && isChecking) {
                isChecking = false
                binding.rgLeft.clearCheck()
                mCheckedId = checkedId
            }
            isChecking = true
        }

        if(mCheckedId == R.id.rb1){
            binding.ivBasic.startAnimation(slide_up_to_down)
            binding.ivBasic.visibility = View.VISIBLE

            binding.ivIntermediate.clearAnimation()  // add
            binding.ivIntermediate.visibility = View.GONE

        }else if(mCheckedId == R.id.rb2){
            binding.ivIntermediate.startAnimation(slide_up_to_down)
            binding.ivIntermediate.visibility = View.VISIBLE

            binding.ivBasic.clearAnimation()  // add
            binding.ivBasic.visibility = View.GONE
        }

    }

当我想在单选按钮中确认选择时甚至不起作用

fun Confirmation(v: View) {
        if (mCheckedId == R.id.rbBasic) {
            val dialog = AlertDialog.Builder(context, R.style.theme)
            dialog.setTitle(R.string.Confirmation)
            dialog.setIcon(R.drawable.ic_interrogation)
            dialog.setMessage("¿Are you sure, in your option?")
            dialog.setCancelable(false)
            dialog.setPositiveButton("Yes") {
                    dialog, which ->
                post_Components_Animation()
                val handler = Handler()
                handler.postDelayed({
                    findNavController().navigate(R.id.action_language_Course_Fragment_to_language_Source_Fragment)
                },875)
            }
            dialog.setNegativeButton("No", null)
                .show()
        } else if (mCheckedId == R.id.rbBeginner) {
            Toast.makeText(context, "type2", Toast.LENGTH_SHORT).show()
        }
    }

我认为我最大的问题是不知道如何正确实现变量中的调用,不知道正在使用哪个单选按钮。

暂无
暂无

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

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