我正在尝试定义一组允许用户将数据输入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上下文菜单等)。
非常感谢任何关于此的想法!
答案 0 :(得分:5)