6

ListViewのすぐ上にSearchViewがあるアクティビティがあります。このアクティビティは、ユーザーがSearchViewにテキストを入力することで機能します。このテキストは、ListViewのコンテンツをフィルタリングするために使用されます。

4インチの携帯電話(Nexus 4)では、アプリが「縦向き」の向きで、ユーザーが検索ビューにテキストを入力し始めると、画面の下半分がキーボードを占有し、テキストはSearchViewウィジェット内に直接入力されます。

ただし、電話が「横向き」の向きの場合、画面全体がキーボードと「テキストフィールド」で占められ、画面の残りの部分は失われます。キーボードの「検索」ボタンと「虫眼鏡」ボタンは機能していないようです。

スクリーンショットを見るここに画像の説明を入力してください

質問

横向きのときにSearchViewウィジェットにテキストを直接入力することは可能ですか?

そうでない場合、キーボードのボタンに何かをさせるにはどうすればよいですか?

4

3 に答える 3

14

たとえば SearchableInfo xml で、SearchView ウィジェットの imeOptions を設定する必要があります。

android:imeOptions="actionSearch|flagNoExtractUi|flagNoFullscreen"

xml を使用して検索ビューを構成していない場合は、setImeOptions を介して同様のことが実現できます。

于 2013-05-27T07:18:32.940 に答える
2

imeOptions を android.support.v7.widget.SearchView に設定しても機能しません。その中の EditText でこれを設定する必要があります。

ジャワ:

EditText searchInput = searchview.findViewById(android.support.v7.appcompat.R.id.search_src_text)
searchInput.setImeOptions(EditorInfo.IME_ACTION_SEARCH)

コトリン:

val searchInput = searchview.findViewById<EditText>(android.support.v7.appcompat.R.id.search_src_text)
searchInput.imeOptions = EditorInfo.IME_ACTION_SEARCH
于 2017-09-11T13:06:55.433 に答える
0

onCreateOptionsMenu(Menu menu) メソッドで、次のような Java コードから実行できます。

searchView.setImeOptions(searchView.getImeOptions() | EditorInfo.IME_ACTION_SEARCH | EditorInfo.IME_FLAG_NO_EXTRACT_UI | EditorInfo.IME_FLAG_NO_FULLSCREEN);
于 2013-11-21T00:52:04.937 に答える