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

Nad*_*der 3 keyboard tabs android

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

public void hideKeyboard()
{
    InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
Run Code Online (Sandbox Code Playgroud)

是否还有其他方法可以尝试检测标签更改?或者我的hideKeyboard()方法有缺陷吗?

Evo*_*vos 6

我认为OnTabChangeListener是执行此类操作的最佳位置.在你的情况下,它将是这样的:

tabhost.setOnTabChangedListener(new OnTabChangeListener(){
    @Override
    public void onTabChanged(String tabId){
        hideKeyboard()
    }
})
Run Code Online (Sandbox Code Playgroud)