怎么去使用Kotlin Android Extensions
如果你还记得,现在项目已经准备好去使用Kotlin Android Extensions。当我们创建这个项目,我们就已经在build.gradle中增加了这个依赖:
buldscript{
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}
}
唯一一件需要这个插件做的事情是在类中增加一个特定的"手工"import来使用这个功能。我们有两个方法来使用它:
Activities或者Fragments的Android Extensions
这是最典型的使用方式。它们可以作为activity或fragment的属性是可以被访问的。属性的名字就是XML中对应view的id。
我们需要使用的import语句以kotlin.android.synthetic开头,然后加上我们要绑定到Activity的布局XML的名字:
import kotlinx.android.synthetic.activity_main.*
此后,我们就可以在setContentView被调用后访问这些view。新的Android Studio版本中可以通过使用include标签在Activity默认布局中增加内嵌的布局。很重要的一点是,针对这些布局,我们也需要增加手工的import:
import kotlinx.android.synthetic.activity_main.*
import kotlinx.android.synthetic.content_main.*
Views的Android Extensions
前面说的使用还是有局限性的,因为可能有很多代码需要访问XML中的view。比如,一个自定义view或者一个adapter。举个例子,绑定一个xml中的view到另一个view。唯一不同的就是需要import:
import kotlinx.android.synthetic.view_item.view.*
如果我们需要一个adapter,比如,我们现在要从inflater的View中访问属性:
view.textView.text = "Hello"