我已经在我的应用程序中实现了 ActionBar Tab。但是我在标签更改期间面临一个问题。我的标签主要包含 webview,但一个标签包含编辑文本。当我点击编辑文本时,键盘会出现,如果我正在更改标签,键盘会出现,键盘不会消失。我尝试了一些简单的解决方案,比如明确隐藏它,但没有成功。
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(fragment.getView().getApplicationWindowToken(), 0);
我正在调用实现 ActionBar.TabListener 的类的 onTabSelected()。我不知道如何解决这个问题,也没有获得相关信息。
提前致谢。任何帮助将不胜感激。
更新和回答
Eric 的回答在某种程度上给了我一个推动力并帮助我得到了答案,所以我用我的改变将他的答案标记为正确。即我在我的onTabUnselected
而不是tabSelected 中添加了eric 的代码,因为当我试图获取视图时,视图没有被创建,因此视图为空。所以我的最终代码是
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft)
{
View target = initialisedFragment.getView().findFocus();
if (target != null)
{
InputMethodManager mgr = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(target.getWindowToken(), 0);
}
}