有点东西:) 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日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度