是否可以用按钮隐藏键盘?

时间:2012-03-11 05:54:32

标签: java android keyboard android-softkeyboard android-tabhost

在我的应用程序中,我有一个Tab系统,在其中一个标签布局中,有一个EditText。

enter image description here

如果我转到另一个标签,键盘会保持不动。

enter image description here

所以我添加了一个隐藏它的按钮:

enter image description here

那么如何设置Button来关闭键盘呢?如果键盘在切换标签时消失也会非常有用。

3 个答案:

答案 0 :(得分:2)

private void hideKeyboard() {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(getTabHost().getApplicationWindowToken(), 0);
}

此方法隐藏键盘。在标签案例中工作。只需在每个选项卡上设置相同的OnClickListener,它调用hideKeyboard()。

答案 1 :(得分:0)

我在我的应用程序中所做的是尝试而不是使用按钮关闭软键盘因为我已经使用了一个按钮,而不是你的Done,名为Del whcih清空EditText字段。我所做的就是在第一次按下EditText时显示键盘,然后在第二次按下时隐藏它。

尝试在EditText的onClick回调函数中使用它,或者如果你想保留Submit按钮,然后在它的onClick监听器和你拥有的每个标签上添加它。

InputMethodManager keyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

希望这会有所帮助,欢呼。

答案 2 :(得分:0)

    InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

如果要隐藏软键盘,请将这些添加到事件中......