Android EditText,输入中文时在用户选择之前检测字符

Android EditText,输入中文时在用户选择之前检测字符,android,android-edittext,Android,Android Edittext,在用户对中文单词进行触摸选择之前,我是否可以检测到用户正在键入的字符 iOS可以做到这一点。 这是Android,EditText TextWatcher在用户选择之前不会得到任何东西 阅读官方文件 通过使用TextWatcher,您可以访问PostTextChanged()、beforeTextChanged()和onTextChanged()方法。现在,您可以看到用户输入的拼音,然后随着输入的变化更改您的汉字建议。试试这种方法 InputFilter filter = new InputF

在用户对中文单词进行触摸选择之前,我是否可以检测到用户正在键入的字符

iOS可以做到这一点。

这是Android,EditText TextWatcher在用户选择之前不会得到任何东西

阅读官方文件

通过使用TextWatcher,您可以访问
PostTextChanged()
beforeTextChanged()
onTextChanged()
方法。现在,您可以看到用户输入的拼音,然后随着输入的变化更改您的汉字建议。

试试这种方法

InputFilter filter = new InputFilter() {

            @Override
            public CharSequence filter(CharSequence source, int start, int end,
                    Spanned dest, int dstart, int dend) {
                //source : latest character typed in edittext
                //dest : all characters except source   

               // HERE YOU WILL GET CALLBACK EVERY TIME key ENTERED IN EDITTEXT

                return null;
            }
        };
        edtText.setFilters(new InputFilter[]{filter});

对不起,也许我没有说清楚。当用户使用拼音文本输入法时,在用户选择中文单词之前,TextWatcher不会得到任何信息,而在TextChanged方法之前,TextWatcher则什么也得不到。这就是为什么你要发布一个简短、自包含、正确的代码示例来演示这个问题。()就像你一样,输入拼音时,我会预料到TextWatcher事件,所以可能您正在执行其他操作,使其无法工作。我已编辑了我的问题。我使用搜狗输入,可以在这里下载。你的代码是什么,你是怎么做到的?我明白了。。。嗯,我不知道如何使用搜狗输入,甚至不知道应该如何设置它。我认为你最好的办法是直接联系搜狗寻求指导。那么,你用什么输入法呢?系统内置?您想检测哪些汉字?如果用户输入汉字,您想执行什么操作?我已经编辑了我的问题演示,我能让自己理解吗?你能帮我吗?你可以使用InputFilter来实现这一点非常感谢,但是,当我输入中文时,在选择之前,我在filter方法中什么也得不到。我使用第三方输入法调用sougou()。