简体   繁体   English

切换标签页时隐藏键盘

[英]Hide Keyboard when switching tab

I have three tabs. 我有三个标签。 On the second one, when I click on the edit text, the keyboard comes up. 在第二个键盘上,当我单击编辑文本时,键盘出现。 I want to hide the keyboard whenever I click on the tab1 indicator. 当我单击tab1指示器时,我想隐藏键盘。

I already dig up the method to hide the keyboard: 我已经找到了隐藏键盘的方法:

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

How can force the keyboard to hide when I switch my tab? 切换标签时,如何强制键盘隐藏?

Setup the listener OnTabChangeListener with setOnTabChangedListener in your TabHost , and inside TabHost.OnTabChangeListener add your code block. 设置监听OnTabChangeListenersetOnTabChangedListenerTabHost了,里面TabHost.OnTabChangeListener添加您的代码块。

Something like this: 像这样:

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

    }
});

You can use ActionBar to create tabs anyway 您仍然可以使用ActionBar创建标签

An example: 一个例子:

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() .addTab() .newTab() .setTabListener()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM