【问题标题】:Android: In browser edit text behaviorAndroid:在浏览器中编辑文本行为
【发布时间】:2013-10-09 02:01:50
【问题描述】:

我有下一个问题:

我尝试处理在浏览器中显示的字段中的输入,例如在 www.google.com 中搜索的文本字段中。但是对于 Android 4.1.2 及更高版本,这种类型的字段在 InputConnection 中会出现一些问题。

- it return null for ic.getExtractedText() however ic.getTextBeforeCursor() return normal value;
- when i use ic.sendKeyEvent() for backspace it doesn't make effect until call ic.endBatchEdit(); 

但对于常规的 edittext 或在 Android 2.3.3 中,它会返回正确的值并立即删除最后一个字符,甚至直到 endBatchEdit() 调用;

这有什么问题以及如何正确使用此字段? 谢谢。

【问题讨论】:

    标签: android browser android-edittext


    【解决方案1】:

    此处的链接将此记录为 Android Jellybean 上的一个已知错误。 https://code.google.com/p/android/issues/detail?id=36152#makechanges

    我已经尝试了几个操作系统版本,唯一有问题的确实是果冻豆。

    一种可能的解决方法是使用 getTextBeforeCursor() 方法,使用相当大的值作为要获取的字符数。

    在文本字段中查找光标位置的示例如下:

                //try with getExtractedText
                extr=ic.getExtractedText(new ExtractedTextRequest(), 0);
                if(extr!=null)
                    Log.w("Cursor Pos", "OnKey "+extr.selectionStart);
                else
                {
                    String s =ic.getTextBeforeCursor(9999, 0).toString();
                    if (s==null)
                        //nothing can be obtained
                    else
                        Log.w("Cursor Pos", "OnKey "+(s.length()-1));
                }
    

    【讨论】:

    • 你在棉花糖里检查过吗?我没有得到这项工作。
    猜你喜欢
    • 2018-12-01
    • 2023-03-16
    • 2012-02-23
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 2017-06-21
    • 1970-01-01
    相关资源
    最近更新 更多