我有一个包含ViewPager和2个fragment的Android应用程序。第一个fragment包含一个EditText字段。当应用程序启动时,该字段立即获得焦点并启动软键盘(我希望发生这种情况)。第二个fragment只包含一个列表(没有可编辑的文本字段)。当我从第一个fragment滑动到第二个fragment时,我希望键盘消失。我尝试过的所有方法似乎都不起作用。键盘不仅保持在视图中,而且它继续更新第一个fragment的EditText字段。
我认为我要么使用了错误的代码来隐藏键盘,要么将其放置在错误的位置。如果有人可以发布正确实现的示例,那将非常感激!
我最新的尝试是将应该隐藏键盘的代码放置在第一个fragment的onDetach()方法中:
我认为我要么使用了错误的代码来隐藏键盘,要么将其放置在错误的位置。如果有人可以发布正确实现的示例,那将非常感激!
我最新的尝试是将应该隐藏键盘的代码放置在第一个fragment的onDetach()方法中:
@Override
public void onDetach()
{
super.onDetach();
InputMethodManager imm = (InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE);
// I'VE TRIED ALL THREE BELOW, NONE OF THEM WORK...
// imm.hideSoftInputFromWindow(this.messageView.getWindowToken(), 0);
// imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
// this.context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}