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

时间:2013-02-19 04:44:41

标签: android tabs keyboard

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

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

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

1 个答案:

答案 0 :(得分:6)

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

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