提案を横向きに表示するには、次のいずれかを行う必要があります。
SUGGEST_COLUMN_QUERY
提案結果に追加
android:searchMode="queryRewriteFromText"
または ``android:searchMode="queryRewriteFromData" to your
searchable.xml`を追加します
ただし、提案としては、フルスクリーン キーボードではなく、通常のポップアップを表示する方がよいと思います。に追加することでこれを実現できandroid:imeOptions="flagNoExtractUi"
ますsearchable.xml
。
それだけです。興味がある場合は、これを追跡した方法を次に示します。
Hierarchy Viewerは、検索ダイアログが によって実装されていることを通知します。これは、補完テキスト ビューにSearchDialog
を使用します。AutoCompleteTextView
そのbuildDropDown()
関数は、 によって返されたアイテムに対してFilter.convertResultToString()
( を介して) を呼び出し、これらを (必要な提案を担当する) に渡します。convertSelectionToString()
AutoCompleteTextView
mAdapter.getItem()
InputMethodManager.displayCompletions()
の場合SearchDialog
、アダプタはSuggestionsAdapter
. これは のサブクラスでありCursorAdapter
、そのgetFilter()
メソッドはクラスを返します。このクラスは、アダプタ クラスに委譲するだけCursorFilter
で実装されます。最後に、このメソッドを次のように実装します。convertResultToString()
convertToString()
SuggestionsAdapter
public CharSequence convertToString(Cursor cursor) {
if (cursor == null) {
return null;
}
String query = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_QUERY);
if (query != null) {
return query;
}
if (mSearchable.shouldRewriteQueryFromData()) {
String data = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_INTENT_DATA);
if (data != null) {
return data;
}
}
if (mSearchable.shouldRewriteQueryFromText()) {
String text1 = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_TEXT_1);
if (text1 != null) {
return text1;
}
}
return null;
}
…これにより、上記の最初の段落の推奨事項が得られます。