单击 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();

希望对您有所帮助。