Android 兼容搜狗输入法 英文输入 回车监听无效的bug

Posted 亚洲小炫风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 兼容搜狗输入法 英文输入 回车监听无效的bug相关的知识,希望对你有一定的参考价值。

android 应用 大多都没在软键盘监听上做功夫 今天项目中突然发现搜狗输入法英文输入 回车监听无效 于是探索1小时 得出解决方案

继承EiditText 复写

 @Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs) 
        return new InputConnectionWrapper(super.onCreateInputConnection(outAttrs),true)
            @Override
            public boolean commitText(CharSequence text, int newCursorPosition) 
                if(text.equals("\\n")) 
                    sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_ENTER));
                    return false;
                
                return super.commitText(text, newCursorPosition);
            
        ;
    
 findViewById.setOnKeyListener  v, keyCode, event ->
            if(keyCode== KeyEvent.KEYCODE_ENTER&&event.action==KeyEvent.ACTION_DOWN)
            
                Toast.makeText(this, "keycode:" + keyCode + "  event:" + event, Toast.LENGTH_LONG)
                    .show();
                true;
            else 
                false
            
        

完美解决
 

以上是关于Android 兼容搜狗输入法 英文输入 回车监听无效的bug的主要内容,如果未能解决你的问题,请参考以下文章

Android 兼容搜狗输入法 英文输入 回车监听无效的bug

Android 兼容搜狗输入法 回车监听无效的bug

Android之输入内容监听回车键Editor

Android 软键盘监听回车之没辣么简单

修改手机搜狗输入法右下角的回车(左箭头)按钮,为“发送”按钮 in 微信

angularjs之手机输入法回车变搜索,并触发事件,兼容pc回车事件