切换选项卡时隐藏键盘

时间:2014-03-30 16:54:25

标签: java android

我有三个标签。在第二个,当我点击编辑文本时,键盘出现。我想在每次单击tab1指示器时隐藏键盘。

我已经挖掘出隐藏键盘的方法了:

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

切换标签时,如何强制键盘隐藏?

1 个答案:

答案 0 :(得分:1)

setOnTabChangedListener中使用TabHost设置听众OnTabChangeListener,在TabHost.OnTabChangeListener内添加代码块。

这样的事情:

tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener()
{
    @Override
    public void onTabChanged(String tabId)
    {
        InputMethodManager imm = (InputMethodManager) getSystemService(
                Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

    }
});

您可以使用ActionBar创建标签

一个例子:

ActionBar actionBar = getActionBar();
actionBar.addTab(actionBar.newTab().setText("Your Tab").setTabListener(new ActionBar.TabListener()
{
    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
    {
        InputMethodManager imm = (InputMethodManager)getSystemService(
                Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft)
    {

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft)
    {

    }
}));

.addTab() .newTab() .setTabListener()