Если я правильно прочитал спецификацию , нет.
Вы можете сопоставлять элемент, имя атрибута в элементе и значение именованного атрибута в элементе. Я не вижу ничего для сопоставления содержимого внутри элемента.
Я смог добиться желаемого поведения, используя OnTouchListener вместо OnClickListener, например:
override fun onEditTextTouch(editText: EditText, event: MotionEvent): Boolean {
//-- if the pressed gesture has finished
if (event.action == MotionEvent.ACTION_UP)
//-- only show toast if view is not editable (becomes editable on LongClick)
if (editText.keyListener == null) {
if (mToast != null) {
mToast!!.cancel()
}
//-- inform user to long press to edit entry
mToast = Toast.makeText(this, resources.getString(R.string.long_click_to_edit), Toast.LENGTH_LONG)
mToast!!.show()
}
return false
}
В моих предыдущих попытках заменить мой clickListener сенсорнымListener я забыл проверить на (event.action == MotionEvent.ACTION_UP)
так мой код также выполнялся при прокрутке (чего я не хотел)
вы должны сделать атрибут редактирования text focusable false, потому что его значение по умолчанию - автоматическое, и это означает, что фреймворк определяет, что он должен быть истинным и false.When он был правдой при первом касании, он был сфокусирован на клавиатуре.
https://developer.android.com/reference/android/R.styleable#View_focusable