原生页面的开发有一个让人头疼的地方:页面中控件非常多,堆砌了大量的控件声明与控件绑定代码。很明显,这属于我们想要避免的重复劳动。
而正好,Kotlin给我们提供了一个解决方法,kotlin-android-extensions,在app/build.gradle中加入下面两句即可:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
引入了kotlin-android-extensions后,控件的使用就变得非常简洁了,在代码中直接使用xml中定义的控件名即可。
接下来要思考的问题是,为什么可以直接使用控件名去操作控件,而不用再显式地使用findViewById。
我们可以反编译Kotlin代码,查看其对应的Java代码来一探究竟:
首先在Android Studio中,点击顶部的Tools -> Kotlin,然后选择Show Kotlin Bytecode,这样在右侧就打开了Koltin代码对应的字节码,接下来,点击字节码界面左上方的Decompile,就得到了Kotlin代码对应的Java代码。
可以看到,et_account控件操作对应的代码是:
我们再看一下这个findCachedViewById方法: