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 に答える