问题:
界面多个EditText,需要判断光标焦点在哪里,用了view.SetOnClickListener事件,想给每个EditText设置点击监听,但是,有时候从别的EditText view切换回来,SetOnClickListener得点2次才执行。
解决方法:
改额头: 使用view的setOnTouchListener
binding?.editEpcNew?.setOnTouchListener { v, event ->
viewModel.currentFocus.set(ReplaceChipViewModel.FOCUS_NEW_EPC)
when (event.action) {
MotionEvent.ACTION_UP -> {
binding?.editEpcNew?.isFocusable = true
binding?.editEpcNew?.isFocusableInTouchMode = true
binding?.editEpcNew?.isCursorVisible = true
binding?.editEpcNew?.requestFocus()
viewModel.showKeyboardBarcode.set(false)
viewModel.showKeyboardEpc.set(false)
}
}
false
}