Setup the listener OnTabChangeListener
with setOnTabChangedListener
in your TabHost
, and inside TabHost.OnTabChangeListener
add your code block.
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
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()