ConfideSearchActivity.kt 2.68 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
package com.ydl.confide.home

import android.content.Context
import android.content.Intent
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import android.view.View
import android.view.WindowManager
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.TextView
import com.ydl.confide.R
import com.ydl.confide.home.constants.FinalString
import com.ydl.ydlcommon.base.BaseActivity
16
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
import kotlinx.android.synthetic.main.confide_search_activity.*


class ConfideSearchActivity : BaseActivity() {



    override fun initDataAndEvent() {
        val keyWord = intent.getStringExtra(FinalString.CONFIDE_SEARCH_KEY_WORD)
        if (!TextUtils.isEmpty(keyWord)){
            etSearch?.setText(keyWord)
            iv_delete_icon.visibility = View.VISIBLE
        }

        etSearch.setOnEditorActionListener { _, actionId, _ ->
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                val keyword = etSearch!!.text.trim().toString()
34 35
                //埋点
                ActionCountUtils.record("listen_counselor_list_page","listen_counselor_list_search_click",keyword)
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
                val intent = Intent()
                intent.putExtra(FinalString.CONFIDE_SEARCH_KEY_WORD, keyword)
                setResult(RESULT_OK,intent)
                finish()
            }
            true
        }

        findViewById<TextView>(R.id.tv_search_cancle).setOnClickListener {
            setResult(RESULT_OK)
            finish()
        }

        if (etSearch.requestFocus()) {
            val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            val isShowing = imm.showSoftInput(etSearch, InputMethodManager.SHOW_IMPLICIT)
            if (!isShowing) {
                window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
            }
        }

        etSearch.addTextChangedListener(object : TextWatcher {
            override fun afterTextChanged(s: Editable?) {
                if (TextUtils.isEmpty(s)) {
                    iv_delete_icon.visibility = View.INVISIBLE
                } else {
                    iv_delete_icon.visibility = View.VISIBLE
                }

            }

            override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}

            override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {

            }

        })

        iv_delete_icon.setOnClickListener {
            etSearch.setText("")
        }
    }

    override fun layoutResId(): Int {
        return R.layout.confide_search_activity
    }


}