Android 在tabhost中切换选项卡后关闭软键盘

Android 在tabhost中切换选项卡后关闭软键盘,android,tabs,keyboard,Android,Tabs,Keyboard,我目前正在尝试使我的程序最小化标签更改时的软键盘。不幸的是,我找不到TabHost提供的任何方法,也找不到其他方法来检查选项卡何时更改,或者在选项卡更改时运行方法。我还尝试添加了android:onClick=“hideKeyboard”,其中hideKeyboard是一种关闭键盘的方法,但这种方法似乎对选项卡更改没有任何作用。隐藏板的代码如下所示: public void hideKeyboard() { InputMethodManager imm = (InputMethodMan

我目前正在尝试使我的程序最小化标签更改时的软键盘。不幸的是,我找不到TabHost提供的任何方法,也找不到其他方法来检查选项卡何时更改,或者在选项卡更改时运行方法。我还尝试添加了android:onClick=“hideKeyboard”,其中hideKeyboard是一种关闭键盘的方法,但这种方法似乎对选项卡更改没有任何作用。隐藏板的代码如下所示:

public void hideKeyboard()
{
    InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
是否有其他方法可以尝试检测选项卡更改?或者我的hideKeyboard()方法有缺陷吗?

我认为这是执行此类操作的最佳位置。在您的情况下,可能是这样的:

tabhost.setOnTabChangedListener(new OnTabChangeListener(){
    @Override
    public void onTabChanged(String tabId){
        hideKeyboard()
    }
})

检查这个。。我以前试过,但我想我是在onCreate方法之外做的。尽管如此,还是非常感谢您的帮助:D Edit:事实上,我刚刚意识到这只会切换键盘,因为我有三个选项卡,所以这种方法不会work@Nader您可以尝试使用
hide
命令而不是
toggle
。选中此链接,int),有几种方法可以隐藏软输入键盘。