loginBtn.setOnClickListener{it:View!}
这个loginBtn为什么可以直接用出来,是用了viewbing?,还是用了其他的方法,谢谢
您的每一个用心回答,都会让这个世界变得更美好一些!
没有,项目里面用的是 kotlin-android-extensions插件,不过废弃了,你用ViewBinding吧
ext插件生成的。比如你在xml中给某个组件编写了一个id,然后as通过插件在当前项目中帮你自动生成了一个全局的变量,和id一样的名字的。
这个ext插件已经在上一年被Google弃用了。
存在问题有2个,1:这个id名字是全局的,所以你在别的任何地方,act,Fragment也能用这个id,如果用了,就空指针了。问题2:id是做了缓存机制的,存在空指针问题。在使用的时候尽可能的?.使用。你这样写之后他会提示你这个不可能空的,不需要使用空安全?语法,但是实际上他是可能会空的,就nullpoint异常了。
这个插件的最大弊端就是污染命名空间 还有一个就是谷歌推出了 viewBinding 插件, jb 团队就顺水推舟给废弃了
没有,项目里面用的是 kotlin-android-extensions插件,不过废弃了,你用ViewBinding吧
ext插件生成的。比如你在xml中给某个组件编写了一个id,然后as通过插件在当前项目中帮你自动生成了一个全局的变量,和id一样的名字的。
这个ext插件已经在上一年被Google弃用了。
存在问题有2个,1:这个id名字是全局的,所以你在别的任何地方,act,Fragment也能用这个id,如果用了,就空指针了。问题2:id是做了缓存机制的,存在空指针问题。在使用的时候尽可能的?.使用。你这样写之后他会提示你这个不可能空的,不需要使用空安全?语法,但是实际上他是可能会空的,就nullpoint异常了。
这个插件的最大弊端就是污染命名空间 还有一个就是谷歌推出了 viewBinding 插件, jb 团队就顺水推舟给废弃了