在 Android 中使用 Kotlin 开发 , EditText 组件如下 :
布局文件 :
<EditText
android:id="@+id/editText"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:inputType="datetime"/>
Activity 操作 :
private var editText: EditText? = null
// ...
editText = findViewById(R.id.editText)
editText?.text = "2018"
editText?.text = "2018"
代码 , 报错如下 :
Type mismatch.
Required:Editable!
Found:String
查看 EditText
的 .text
方法 , 来自 getText()
或 setText()
方法 ,
很显然 , Kotlin 中将 .text
用法当做了 , getText()
方法 , 由于 setText()
方法有很多重载方法 , 没有映射到 setText()
方法 ;
在 Kotlin 中为 EditText 设置 文本是 , 必须使用
editText?.setText("2018")
用法 ;