2012-03-11 73 views
1

在我的应用程序中,我有一个选项卡系统,并且在其中一个选项卡布局中,有一个EditText。是否可以用按钮隐藏键盘?

enter image description here

如果我去一个不同的标签,键盘熬夜。

enter image description here

所以我增加了一个按钮,将其隐藏:

enter image description here

所以我怎么设置按钮,关闭键盘?如果在切换标签时键盘消失,这也会非常有帮助。

+0

有很多答案在这里这个话题。 – asktomsk 2012-03-11 05:58:00

+0

也许是这样,但不是关于我的具体情况与选项卡和使用一个单独的按钮。 – Cole 2012-03-11 06:08:34

回答

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

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

+1

我在OnTabChangeListener中使用它,它工作得很好。谢谢! – Cole 2012-03-13 00:09:10

0

我在我的应用程序中所做的是尝试,而不是使用按钮关闭softkeyboard因为我已经使用了一个按钮,而不是您完成,称为德尔whcih清空EditText字段。我所做的就是在第一次按下EditText时显示键盘,第二次按下就隐藏它。

尝试在EditText的onClick回调函数中使用此功能,或者如果您想保留Submit按钮,请将其添加到onClick监听器上,并为每个选项卡添加它。

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

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

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

这些,当你想隐藏软键盘添加到事件...