CursorAdapter.runQueryOnBackgroundThread

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"を入力
"ABC"を入力

"ABC"を入力。

これで確定
これで確定

これで確定。

次に"AB"と入力したら"ABC"が出てくる
次に"AB"と入力したら"ABC"が出てくる

次に"AB"と入力したら"ABC"が出てくる。

”AB"で確定しておいて、また"AB"と入れておくと、"AB"が出てくる。
”AB"で確定しておいて、また"AB"と入れておくと、"AB"が出てくる。

”AB"で確定しておいて、また"AB"と入れておくと、"AB"が出てくる。

"ABD"と入れたら、当てはまる候補が無いので消える
"ABD"と入れたら、当てはまる候補が無いので消える

"ABD"と入れたら、当てはまる候補が無いので消える。

"AC"も無いから出てこない
"AC"も無いから出てこない

"AC"も無いから出てこない。

"AB"だけならいくつも候補がある
"AB"だけならいくつも候補がある

"AB"だけならいくつも候補がある。

"AC"はこれだけ
"AC"はこれだけ

"AC"はこれだけ。

Sample/android/CursorAdapter/runQueryOnBackgroundThread/src/CursorAdapter at master · bg1bgst333/Sample · GitHub