私のアプリは Android 2.2 以降で動作します。その中で、ActionbarSherlockを使用して、3.0 より前のデバイスでアクション バーを使用できるようにしています。アクション バーで EditText を使用して、ユーザーが検索用のテキストを入力できるようにしました。
Android 4.0 および 4.1 (タブレット アプリではないため、3.x は試していません) でエミュレーターを使用すると、EditText が選択されると、必要に応じてソフト キーボードがポップアップします。しかし、Android 2.2 または 2.3.3 を使用するとそうではなく、表示されません。
EditText のコードは単純です。
item.setActionView(R.layout.collapsible_edittext);
etInput = (EditText) item.getActionView().findViewById(R.id.etInput);
etInput.requestFocus();
レイアウト:
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/etInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/search_hint"
android:lines="1"
android:maxLines="1"
android:inputType="textFilter|textNoSuggestions"
android:imeOptions="actionSend"/>
の直後にこのスニペットを使用してソフト キーボードを具体的に表示しようとしましたetInput.requestFocus();
が、違いはありませんでした。
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(etInput, InputMethodManager.SHOW_IMPLICIT);
これが ActionbarSherlock の問題なのか、それともより一般的な Android の問題なのかを突き止めようとしています。アクティビティでのソフト キーボード表示の強制に関する多くの記事を精査しましたが、まだ解決策を見つけていません。
ありがとう