kotlin中EditText賦值Type mismatch方式
在kotlin中可以不用使用findViewById來(lái)初始化控件,但是在給EditText賦值時(shí)使用editText.text = "value"時(shí)會(huì)提示Type mismatch,這是因?yàn)镋ditText在推斷types時(shí)出現(xiàn)問(wèn)題。

為了避免types不匹配,使用Editable類(lèi)的Factory內(nèi)部類(lèi),來(lái)解決這個(gè)問(wèn)題。
etStartTime.text = Editable.Factory.getInstance().newEditable("test")

補(bǔ)充知識(shí):kotlin TextView、EditText的相關(guān)監(jiān)聽(tīng)的常用使用
kotlin TextView、EditText的相關(guān)點(diǎn)擊監(jiān)聽(tīng)、長(zhǎng)按監(jiān)聽(tīng)、輸入變化監(jiān)聽(tīng)等的常用使用
會(huì)與以前的Android Java寫(xiě)法有一點(diǎn)點(diǎn)的區(qū)別。
//TextView點(diǎn)擊監(jiān)聽(tīng) 兩種方式
//①
TextView.setOnClickListener {//這里寫(xiě)實(shí)現(xiàn)的功能}
//②
TextView.setOnClickListener(object :OnClickListener{
override fun onClick(v: View?) {//這里寫(xiě)實(shí)現(xiàn)的功能}
})
//TextView長(zhǎng)按監(jiān)聽(tīng) 兩種方式
//①
TextView.setOnLongClickListener {
//這里寫(xiě)實(shí)現(xiàn)的功能
true}
//②
TextView..setOnLongClickListener(object : OnLongClickListener {
override fun onLongClick(v: View?): Boolean {
//這里寫(xiě)實(shí)現(xiàn)功能
return true
}
})
EditText監(jiān)聽(tīng)與TextView幾乎一樣,但是它有輸入內(nèi)容變化的監(jiān)聽(tīng)。
//EditText點(diǎn)擊和長(zhǎng)按監(jiān)聽(tīng) 同TextView寫(xiě)法一樣。下面寫(xiě)一個(gè)監(jiān)聽(tīng)輸入變化的方法 兩種
//①、當(dāng)前頁(yè),繼承TextWatcher【例如:class XXXActivity : BaseActivity(), TextWatcher】
EditText.addTextChangedListener(this)//監(jiān)聽(tīng)當(dāng)前this,然后重寫(xiě)三個(gè)方法(輸入后,輸入前,輸入文字產(chǎn)生變化)
override fun afterTextChanged(s: Editable?) {
//輸入后的監(jiān)聽(tīng)
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
//輸入后的監(jiān)聽(tīng)
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
//輸入文字產(chǎn)生變化的監(jiān)聽(tīng)
}
//②、另一種寫(xiě)法,直接監(jiān)聽(tīng)
EditText.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {//輸入后的監(jiān)聽(tīng)}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {//輸入后的監(jiān)聽(tīng)}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {//輸入文字產(chǎn)生變化的監(jiān)聽(tīng)}
})
有什么問(wèn)題歡迎留言討論
以上這篇kotlin中EditText賦值Type mismatch方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Touch Panel AA區(qū)要做外擴(kuò)的原因解析
今天小編就為大家分享一篇關(guān)于Touch Panel AA區(qū)要做外擴(kuò)的原因解析,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
詳解RxJava2 Retrofit2 網(wǎng)絡(luò)框架簡(jiǎn)潔輕便封裝
本篇文章主要介紹了詳解RxJava2 Retrofit2 網(wǎng)絡(luò)框架簡(jiǎn)潔輕便封裝,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Android編程實(shí)現(xiàn)獲取當(dāng)前連接wifi名字的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)獲取當(dāng)前連接wifi名字的方法,涉及Android針對(duì)WiFi屬性操作的相關(guān)技巧,需要的朋友可以參考下2015-11-11
Android實(shí)現(xiàn)多線程斷點(diǎn)下載
大家好,本篇文章主要講的是Android實(shí)現(xiàn)多線程斷點(diǎn)下載,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
Android LayoutInflater中 Inflate()方法應(yīng)用
本文主要介紹Android 中Inflate 方法的用法, 在開(kāi)發(fā)Android應(yīng)用過(guò)程中,可以在程序中應(yīng)用 Inflate()方法加載新布局,希望能幫助有需要的朋友2016-07-07
Android基礎(chǔ)控件RadioGroup使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android基礎(chǔ)控件RadioGroup的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Android 自定View實(shí)現(xiàn)仿QQ運(yùn)動(dòng)步數(shù)圓弧及動(dòng)畫(huà)效果
這篇文章主要介紹了Android自定義view實(shí)現(xiàn)高仿QQ運(yùn)動(dòng)步數(shù)圓弧及動(dòng)畫(huà)效果的實(shí)例代碼,本文涉及到繪制圓弧需要具備的知識(shí)點(diǎn),需要的朋友可以參考下2016-10-10

