0

当我单击编辑框时,软键盘正在显示。但是当编辑框失去焦点时它没有隐藏。我在我的应用程序中使用片段。我尝试了下面的代码来隐藏键盘。

  public void onActivityCreated(Bundle arg0) {

    super.onActivityCreated(arg0);
    _context = this.getActivity();
    InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);     
    if (imm != null) 
    imm.hideSoftInputFromWindow(getView().getWindowToken(), 0); 
}

但应用程序间歇性崩溃。logcat 错误如下所示。

05-04 18:22:15.540: E/AndroidRuntime(8152): java.lang.IllegalStateException: Recursive entry to executePendingTransactions
05-04 18:22:15.540: E/AndroidRuntime(8152): at android.support.v4.app.FragmentManagerImpl.execPendingActions(Unknown Source)
05-04 18:22:15.540: E/AndroidRuntime(8152): at android.support.v4.app.FragmentManagerImpl$1.run(Unknown Source)

请任何人帮助我做到这一点...

4

1 回答 1

0

我不知道它为什么会崩溃。但我找到了另一种实现方式。这是代码

public void onTabChanged(String tag) {

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);             
    imm.hideSoftInputFromWindow(mTabHost.getApplicationWindowToken(), 0); 
}
于 2012-05-07T09:10:59.923 回答