有点东西:) 2023-02-12 19:30 采纳率: 66.7%
浏览 15
已结题

为什么第一种情况可以设置点击事件而第二种不可以

为什么第一种情况可以设置点击事件而第二种不可以


val biding1 = TitleBinding.inflate(layoutInflater)
        setContentView(biding1.root)
        biding1.button2.setOnClickListener {
            Toast.makeText(this,"你点击了按钮",Toast.LENGTH_SHORT).show()
        }
val biding1 = TitleBinding.inflate(layoutInflater)
        setContentView(R.layout.title)
        biding1.button2.setOnClickListener {
            Toast.makeText(this,"你点击了按钮",Toast.LENGTH_SHORT).show()
        }

  • 写回答

3条回答 默认 最新

  • Halifax ‎ 2023-02-12 20:51
    关注

    望采纳。。。

    方法一:
    setContentView是把你的binding.root1这个ViewGroup添加到DecorView里面,你的Activity才能加载和显示,这个时候,你通过binding去获取控件,然后去设置click是正确的,能响应。

    方法二:
    你只是通过setContentView设置一个布局ID,没有关联你的binding1,其实这里你的binding1的click也没问题,
    你之所以无法响应点击,是因为你此时界面显示的控件是你的setContentView里面设置的layoutID的控件,懂我意思吧?

    所以你在方法二里面,你的button2在R.layout.title里面并没有设置点击事件,你的binding1.button2是你的binding里面的,不是你的R.layout.title里面的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月20日
  • 已采纳回答 2月12日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件
  • ¥15 使用ESP8266连接阿里云出现问题
  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果