kotlin中EditText賦值Type mismatch方式
在kotlin中可以不用使用findViewById來初始化控件,但是在給EditText賦值時使用editText.text = "value"時會提示Type mismatch,這是因為EditText在推斷types時出現(xiàn)問題。
為了避免types不匹配,使用Editable類的Factory內(nèi)部類,來解決這個問題。
etStartTime.text = Editable.Factory.getInstance().newEditable("test")
補充知識:kotlin TextView、EditText的相關(guān)監(jiān)聽的常用使用
kotlin TextView、EditText的相關(guān)點擊監(jiān)聽、長按監(jiān)聽、輸入變化監(jiān)聽等的常用使用
會與以前的Android Java寫法有一點點的區(qū)別。
//TextView點擊監(jiān)聽 兩種方式 //① TextView.setOnClickListener {//這里寫實現(xiàn)的功能} //② TextView.setOnClickListener(object :OnClickListener{ override fun onClick(v: View?) {//這里寫實現(xiàn)的功能} }) //TextView長按監(jiān)聽 兩種方式 //① TextView.setOnLongClickListener { //這里寫實現(xiàn)的功能 true} //② TextView..setOnLongClickListener(object : OnLongClickListener { override fun onLongClick(v: View?): Boolean { //這里寫實現(xiàn)功能 return true } })
EditText監(jiān)聽與TextView幾乎一樣,但是它有輸入內(nèi)容變化的監(jiān)聽。
//EditText點擊和長按監(jiān)聽 同TextView寫法一樣。下面寫一個監(jiān)聽輸入變化的方法 兩種 //①、當(dāng)前頁,繼承TextWatcher【例如:class XXXActivity : BaseActivity(), TextWatcher】 EditText.addTextChangedListener(this)//監(jiān)聽當(dāng)前this,然后重寫三個方法(輸入后,輸入前,輸入文字產(chǎn)生變化) override fun afterTextChanged(s: Editable?) { //輸入后的監(jiān)聽 } override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) { //輸入后的監(jiān)聽 } override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { //輸入文字產(chǎn)生變化的監(jiān)聽 } //②、另一種寫法,直接監(jiān)聽 EditText.addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable?) {//輸入后的監(jiān)聽} override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {//輸入后的監(jiān)聽} override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {//輸入文字產(chǎn)生變化的監(jiān)聽} })
有什么問題歡迎留言討論
以上這篇kotlin中EditText賦值Type mismatch方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android WebView自定義長按選擇實現(xiàn)收藏/分享選中文本功能
這篇文章主要介紹了Android WebView自定義長按選擇實現(xiàn)收藏/分享選中文本功能,需要的朋友可以參考下2017-06-06Android 仿微信自定義數(shù)字鍵盤的實現(xiàn)代碼
本篇文章主要介紹了Android 仿微信自定義數(shù)字鍵盤的實現(xiàn)代碼,具有一定的參考價值,有興趣的可以了解一下2017-07-07android通過藍牙接收文件打開時無法自動選擇合適的應(yīng)用程序
android 通過藍牙接收文件,從歷史傳輸記錄打開,無法自動選擇合適的應(yīng)用程序,比如video player打開.3gp、.mp4文件等等2013-06-06Android使用Gradle依賴配置compile、implementation與api的區(qū)別介紹
這篇文章主要給大家介紹了關(guān)于Android使用Gradle依賴配置compile、implementation與api區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧2018-09-09android開發(fā)教程之framework增加字符串資源和圖片等resource資源
這篇文章主要介紹了android開發(fā)中framework增加字符串資源和圖片等resource資源方法,需要的朋友可以參考下2014-02-02