单击 ClickableSpan 后如何禁用打开键盘
How to disable open keyboard after click in ClickableSpan
我有下一个代码可以添加到 EditText
图片中:
fun bind() {
val ssb = SpannableStringBuilder(".")
var bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.ic_rand_5)
bitmap = resize(bitmap)
val clickableSpan = object : ClickableSpan() {
override fun onClick(p0: View?) {
d { "ON CLICK" }
}
}
ssb.setSpan(ImageSpan(context, bitmap), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
ssb.setSpan(clickableSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
etExp.setText(ssb, TextView.BufferType.SPANNABLE)
}
点击图片后打开键盘,但我不需要这种行为。如何在用 ClickableSpan
单击 ImageSpan
后禁用自动打开键盘?
当您将文本设置到 EditText 中时,它会获得焦点并且系统调出键盘作为响应。摆脱键盘的最简单方法是像您一样设置文本,然后清除焦点:
//Set the ET
etExp.setText(ssb, TextView.BufferType.SPANNABLE)
//Clear the focus:
etExp.clearFocus();
希望对您有所帮助。
我有下一个代码可以添加到 EditText
图片中:
fun bind() {
val ssb = SpannableStringBuilder(".")
var bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.ic_rand_5)
bitmap = resize(bitmap)
val clickableSpan = object : ClickableSpan() {
override fun onClick(p0: View?) {
d { "ON CLICK" }
}
}
ssb.setSpan(ImageSpan(context, bitmap), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
ssb.setSpan(clickableSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
etExp.setText(ssb, TextView.BufferType.SPANNABLE)
}
点击图片后打开键盘,但我不需要这种行为。如何在用 ClickableSpan
单击 ImageSpan
后禁用自动打开键盘?
当您将文本设置到 EditText 中时,它会获得焦点并且系统调出键盘作为响应。摆脱键盘的最简单方法是像您一样设置文本,然后清除焦点:
//Set the ET
etExp.setText(ssb, TextView.BufferType.SPANNABLE)
//Clear the focus:
etExp.clearFocus();
希望对您有所帮助。