CursorAdapter.runQueryOnBackgroundThreadで、バックグラウンドスレッドでクエリを実行する。
CursorAdapter | Android Developers
いよいよ、AutoCompleteTextViewとカスタマイズしたCursorAdapterで、アイテムのカスタマイズが可能な検索サジェストを作っていく段階に入った。
AndroidManifest.xmlは、
CustomContentProvider、singleTop、@xml/searchableがある。
searchable.xmlは、
CustomContentPrviderと紐づく。
auto_complete_list_item.xmlは、
TextViewひとつだけ。
activity_main.xmlは、
AutoCompleteTextViewだけ。
CustomContentProvider.javaは、
setupSuggestionsだけ。
MODEはDATABASE_MODE_QUERIESだけ。
CustomCursorAdapter.javaは、
runQueryOnBackgroundThreadがバックグラウンドで実行され、さらにその中のgetSuggestionsでクエリが実行されている。
MainActivity.javaは、
生成したCustomCursorAdapterをmAdapterに格納し、autoCompleteTextView.setAdapterでautoCompleteTextViewにセット。
onEditorActionで、autoCompleteTextView.getTextで取得したクエリを、saveRecentQueryで保存。
"ABC"を入力。
これで確定。
次に"AB"と入力したら"ABC"が出てくる。
”AB"で確定しておいて、また"AB"と入れておくと、"AB"が出てくる。
"ABD"と入れたら、当てはまる候補が無いので消える。
"AC"も無いから出てこない。
"AB"だけならいくつも候補がある。
"AC"はこれだけ。