如何在片段交易时隐藏软键盘?

时间:2012-05-04 12:58:54

标签: android tabs keyboard android-fragments

当我点击编辑框时,软键盘正在显示。但是当编辑框失去焦点时它没有隐藏。我正在app.i中使用片段尝试了以下代码来隐藏keyborad。

  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)

请有人帮我做这个......

1 个答案:

答案 0 :(得分:0)

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

public void onTabChanged(String tag) {

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);             
    imm.hideSoftInputFromWindow(mTabHost.getApplicationWindowToken(), 0); 
}
相关问题