抑制EditText焦点上的软键盘外观

par*_*doX 1 android android-edittext

我试图定义一组按钮,允许用户将数据输入EditText框.我想要EditText框的所有默认功能,除了弹出软键盘.唯一允许进入EditText框的数据应该是我定义的按钮中的数据.我试图通过捕捉触摸事件并返回true来抑制软键盘.(根据此主题发现的对话)

private OnTouchListener txtTouchListener = new OnTouchListener()
    {
    @Override
    public boolean onTouch(View v, MotionEvent event)
        {
        //Return true to suppress the passing of the event on to the OS
        return true;
        }
    };
Run Code Online (Sandbox Code Playgroud)

问题是此方法然后阻止长按事件触发.要解决这个问题,我可以返回false,然后处理长按事件.但是,这会使短按钮弹出软键盘.此外,长时间点击不仅抑制了软键盘,而且上下文菜单也是如此.我正在寻找一种方法来阻止键盘出现短(或长)点击,但保留所有其他功能(短按点击更新光标位置,长按点击显示EditText上下文菜单等)

对此有任何想法非常感谢!

dav*_*e.c 5

这个帖子建议:

EditText.setInputType(InputType.TYPE_NULL);
Run Code Online (Sandbox Code Playgroud)

或者您将inputTypeXML属性设置为none.

虽然我没试过.