我正在
Android中构建一个丰富的文本编辑器.为此,我正在使用一个带有contentEditable div的webView.
要添加样式,我调用JavaScript.这一切都可以正常工作,除非我调用JavaScript插入图像或水平规则.当我使用JavaScript插入这些东西时,如果我然后尝试按返回按钮删除图像或水平规则,它不起作用.
奇怪的是,如果我先输入任何其他字符,然后插入图像或水平规则,我可以删除图像/水平规则,但是不能删除我在图像/水平规则之前输入的字符.
我已经尝试在每个状态打印HTML,检查选择/范围等,似乎找不到与状态不同的任何可能解释为什么我不能删除图像等等.
解决方法
Android: Backspace in WebView/BaseInputConnection
子类Webview并覆盖这个人的问题所示的方法.
在某些手机上,只有这个人的问题才能满足要求.链接的答案将完成与其他手机兼容的代码.虽然,您将InputConnectionWrapper子类化.不输入连接.然后在您的自定义Webview中返回该包装.
只是一个FYI,这个链接有一个更详细的解释情况,但我尽快实施他们的想法,它没有奏效.也许对我来说太复杂了.我试过他们的解决方案而不是我上面提到的原因是因为上面提到的解决方案导致语音到文本功能无法正常工作.
Android – cannot capture backspace/delete press in soft. keyboard