我有三个标签。在第二个,当我点击编辑文本时,键盘出现。我想在每次单击tab1指示器时隐藏键盘。
我已经挖掘出隐藏键盘的方法了:
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
切换标签时,如何强制键盘隐藏?
答案 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)
{
}
}));