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)文章
Flutter進(jìn)階之實(shí)現(xiàn)動(dòng)畫(huà)效果(十)
這篇文章主要為大家詳細(xì)介紹了Flutter進(jìn)階之實(shí)現(xiàn)動(dòng)畫(huà)效果的第十篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android的App啟動(dòng)時(shí)白屏的問(wèn)題解決辦法
這篇文章主要介紹了Android的App啟動(dòng)時(shí)白屏的問(wèn)題相關(guān)資料,在App啟動(dòng)的第一次的時(shí)候白屏?xí)欢螘r(shí)間,這里提供了解決辦法,需要的朋友可以參考下2017-08-08Android WebView自定義長(zhǎng)按選擇實(shí)現(xiàn)收藏/分享選中文本功能
這篇文章主要介紹了Android WebView自定義長(zhǎng)按選擇實(shí)現(xiàn)收藏/分享選中文本功能,需要的朋友可以參考下2017-06-06Android 仿微信自定義數(shù)字鍵盤(pán)的實(shí)現(xiàn)代碼
本篇文章主要介紹了Android 仿微信自定義數(shù)字鍵盤(pán)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-07-07android通過(guò)藍(lán)牙接收文件打開(kāi)時(shí)無(wú)法自動(dòng)選擇合適的應(yīng)用程序
android 通過(guò)藍(lán)牙接收文件,從歷史傳輸記錄打開(kāi),無(wú)法自動(dòng)選擇合適的應(yīng)用程序,比如video player打開(kāi).3gp、.mp4文件等等2013-06-06Android使用Gradle依賴(lài)配置compile、implementation與api的區(qū)別介紹
這篇文章主要給大家介紹了關(guān)于Android使用Gradle依賴(lài)配置compile、implementation與api區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧2018-09-09android開(kāi)發(fā)教程之framework增加字符串資源和圖片等resource資源
這篇文章主要介紹了android開(kāi)發(fā)中framework增加字符串資源和圖片等resource資源方法,需要的朋友可以參考下2014-02-02