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

时间:2011-03-21 04:00:00

标签: android android-edittext

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

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;
        }
    };

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

非常感谢任何关于此的想法!

1 个答案:

答案 0 :(得分:5)

thread表明:

EditText.setInputType(InputType.TYPE_NULL);
  

或者您将XML属性中的inputType设置为none

虽然没有尝试过。