ViewBinding替换ButterKnife的点击事件onClick问题

使用下来,ViewBinding是在构建页面到时候比较方便,Activity类头部也不用声明一大堆控件,只需要在用的时候调用binding.xxxxx.setText()就可以了。但是如果在为了避免Android Studio报警告提示“Resource IDs will be non-final in Android Gradle Plugin version 5.0, avoid using them as annotation attributes”的前提下,把ButterKnife替换为ViewBinding,就会少了那些@OnClick、@OnTextChanged之类的注解方法。目前看过很多介绍ViewBinding和对比ViewBinding与ButterKnife的文章,都没有提到这个问题。在这种情况下,只能使用最原始的setOnClickListener和addTextChangedListener了。对于我来说用ButterKnife一个好处就是不用写findViewById,另一个好处就是不用写setOnClickListener之类的,满屏幕一大片的。如果用ViewBinding替换ButterKnife的话,Base的封装应该不是问题,就是写监听没有ButterKnife方便,不替换的话,满屏幕都是黄色警告,看着也闹心。
看起来应该是如果使用Android Studio 3.6以上的话,只要代码出现R.id.xxxxx这类的都会报警告,那这样的话,使用ViewBinding的情况下写点击事件怎么写,只能写在onCreate里吗,写一堆这个?就这?

viewBinding.textView.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                
            }
        }
)

补充:我知道databinding可以解决问题,但是我不喜欢databinding所以不想用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。