android - Android按钮视图绑定ClickListener不起作用
问题描述
我的按钮上的 clickListener 不起作用,我想知道是否存在已知问题或我遗漏了什么?:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mMainBinding = MainBinding.inflate(layoutInflater)
setContentView(R.layout.main)
}
override fun onStart() {
super.onStart()
val button = findViewById<Button>(R.id.login_button)
mMainBinding.loginButton.setOnClickListener {
...
}
}
我尝试将 mMainBinding 初始化移到 setContentView 下方,并使用 MaterialButton 和普通按钮进行了尝试。使用用 findViewById 初始化的“按钮”它可以工作,但使用它不能使用绑定。如果我 ctrl + 单击 loginButton 它会导航到 xml 布局中的右侧按钮,该按钮也是可点击的,那么我错过了什么?
解决方案
如果您正在使用 Activity 那么您可以尝试使用 ->
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
如果您使用的是 Fragment,请尝试->
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_your_videos, 容器, false); 视图 = binding.getRoot(); 返回视图;
这可能是DataBinding中的问题
推荐阅读
- powerapps - 提交前检查错误
- npm-live-server - Live-server 无法访问父目录
- excel - 从特定的多列获取数据
- templates - 在 v-if 中获取 vuejs 组件名称
- android - Android Notification 显示并同时消失,无需执行任何操作
- php - 将 curl 响应保存到数据库中
- asp.net - 在 Microsoft 中创建自定义网站作为开发人员,我们需要哪些工具来构建它?
- php - 十月CMS部分未更新
- css - 如何增加primeng表格分页(翻页)按钮的宽度?
- python - 使用类作为装饰器来装饰另一个类的方法