单击ClickableSpan后如何禁用打开键盘

时间:2018-07-30 16:41:11

标签: android android-edittext spannablestring

我有用于添加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)

    }

然后单击“图像”打开键盘后,但是我不需要这种行为。用ImageSpan单击ClickableSpan后如何禁用自动打开键盘?

1 个答案:

答案 0 :(得分:1)

当您将文本设置为EditText时,它将获得焦点,并且系统会弹出键盘来响应。摆脱键盘的最简单方法是像您一样设置文本,然后清除焦点:

//Set the ET
etExp.setText(ssb, TextView.BufferType.SPANNABLE)

//Clear the focus:
etExp.clearFocus();

希望有帮助。