有点东西:) 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 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里