用Inputmethod连接一个视图

我通过扩展View类创建了一个自定义视图。 点击时,我想弹出软键盘,就像使用编辑文本(即打开预测文本并能够选择所有可用输入法)一样。

我试图让视图扩展一个onclicklistener ,它在调用时使用InputMethodManager显示软键盘,然后使用Onkeydown拦截按键。 这是笨重的,不起作用,因为:

  • 我只能在标准文本和数字输入方法之间切换。 没有其他的输入法可以工作(如果用户有一个,就像编辑文本一样,我需要能够切换到日文输入法)。

  • 没有预测文本,这对于该程序是绝对必要的,因为它需要用户输入日文汉字。

  • 有没有办法在标准视图和IME之间建立一个类似于edittext的连接?


    要显示预测文本,您应该设置可以被系统接受的EditorInfo类型。 像这样的东西:

    @Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
           // TODO Auto-generated method stub
           // Set your EditorInfo type in the onCreateInputConnection
           outAttrs.actionLabel = null;
           outAttrs.inputType = InputType.TYPE_CLASS_TEXT;
           outAttrs.imeOptions = EditorInfo.IME_ACTION_NEXT;
           return new MyBaseInputConnection(this, false);
    }
    
    链接地址: http://www.djcxy.com/p/93021.html

    上一篇: Connecting a view with the Inputmethod

    下一篇: Disable keypad or whole keyboard support on android activity?