[英]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. 设置监听
OnTabChangeListener
与setOnTabChangedListener
在TabHost
了,里面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.