编辑文本以编程方式更改时禁用键盘

时间:2012-11-05 09:00:37

标签: android

我正在制作一个带有加号和减号按钮以及编辑文本的数字选择器。

当用户单击加号按钮时,edittext中的文本应该更改,并且 如果用户点击edittext,则应出现键盘。

在我的galaxy gio(android 2.3.6)上一切正常,但在我的Galaxy选项卡10.1(android 3.0)上,每次点击加号或减号按钮时都会弹出键盘。

简而言之,我想在以编程方式更改edittext时禁用键盘,但是当用户单击edittext时,我希望键盘显示出来。

有什么想法吗?

编辑:我不能使用XML属性,只有java请。

1 个答案:

答案 0 :(得分:1)

在你的加号和减号按钮中使用它来隐藏软键盘

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(
                Youredittext.getWindowToken(), 0);

这是通过设置编辑文本单击列表器来显示编辑文本,并在该单击列表器中使用以下代码

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        inputMethodManager.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);