我目前正试图使我的程序在切换标签时最小化软键盘。不幸的是,我找不到tabhost提供的任何方法,也找不到其他方法来检查选项卡何时更改或在选项卡更改时运行方法。我还尝试添加android:onclick=“hidekeyboard”,hidekeyboard是一个关闭键盘的方法,但是这个方法似乎对tab键的更改没有任何作用。HideKeyboard的代码如下:

public void hideKeyboard()
{
    InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}

有没有其他方法可以检测标签页的更改?或者我的hidekeyboard()方法有缺陷?

最佳答案

我认为OnTabChangeListener是进行这种手术的最佳场所。在你的情况下可能是这样的:

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

10-06 07:21