morristech
1/31/2018 - 9:17 AM

BrowserActivity.kt

    editText.setOnEditorActionListener(TextView.OnEditorActionListener { _, actionId, keyEvent ->
        if (actionId == EditorInfo.IME_ACTION_DONE || keyEvent?.keyCode == KeyEvent.KEYCODE_ENTER) {
            userEnteredQuery(editText.text.toString())
            return@OnEditorActionListener true
        }
        false
    })

    editText.addTextChangedListener(object : TextWatcher {

        override fun onTextChanged(
            charSequence: CharSequence,
            start: Int,
            before: Int,
            count: Int
        ) {
            // some 3rd party keyboards submit \n instead of an IME action
            if (before == 0 && count == 1 && charSequence[start] == '\n') {
                editText.text.replace(start, start + 1, "")
                userEnteredQuery(editText.text.toString())
            }
        }

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

    })