1. 程式人生 > >kotlin TextView、EditText的相關監聽的常用使用

kotlin TextView、EditText的相關監聽的常用使用

kotlin TextView、EditText的相關點選監聽、長按監聽、輸入變化監聽等的常用使用

會與以前的Android Java寫法有一點點的區別。

//TextView點選監聽 兩種方式

//①
TextView.setOnClickListener {//這裡寫實現的功能}

//②
TextView.setOnClickListener(object :OnClickListener{ 
override fun onClick(v: View?) {//這裡寫實現的功能}
})

//TextView長按監聽 兩種方式
//①
TextView.setOnLongClickListener { 
//這裡寫實現的功能 
true}

//②
TextView..setOnLongClickListener(object : OnLongClickListener {
override fun onLongClick(v: View?): Boolean {
//這裡寫實現功能
return true
}
})

EditText監聽與TextView幾乎一樣,但是它有輸入內容變化的監聽。

//EditText點選和長按監聽 同TextView寫法一樣。下面寫一個監聽輸入變化的方法 兩種
//①、當前頁,繼承TextWatcher【例如:class XXXActivity : BaseActivity(), TextWatcher】

EditText.addTextChangedListener(this)//監聽當前this,然後重寫三個方法(輸入後,輸入前,輸入文字產生變化)
    override fun afterTextChanged(s: Editable?) {
        //輸入後的監聽
    }

    override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
        //輸入後的監聽
    }

    override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
        //輸入文字產生變化的監聽
    }

//②、另一種寫法,直接監聽
EditText.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {//輸入後的監聽}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {//輸入後的監聽}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {//輸入文字產生變化的監聽}
})

有什麼問題歡迎留言討論