每个 Android 开发人员都知道 findViewById()。但是 Kotlin 不再需要 findViewById。
这是怎么发生的?这是因为 Kotlin Android 扩展。
如何使用 Kotlin 访问 TextView:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
textView.setText("Hello World"); // No need(findViewById) to create a reference variable explicitly
}
但是这一切是如何运作的呢?这就是“Kotlin Android 扩展”的魔力。
您可能已经注意到 Gradle 文件中的以下插件和我们的活动类中的导入语句。
apply plugin: 'kotlin-android-extensions'
import statement in Activity:
import kotlinx.android.synthetic.main.activity_login.*
由于这个插件和 import 语句,我们不需要在我们的活动中明确地创建 View 对象。我们可以直接从布局文件中定义的名称引用View。
如果布局文件名是activity_main.xml,我们应该
import kotlinx.android.synthetic.main.activity_main.*.
详情请看这里:http://kotlin-andro.blogspot.in/2017/07/kotlin-android-extensions.html