runOnUiThread を AsyncTask に変換する必要があるいくつかのリンクを読みました: Android: RunOnUiThread vs AsyncTask
しかし、私はそれを成し遂げることができません。データベースからクエリを取得する AutoCompleteText を実装しています。
私の runOnUiThread と新しいスレッド (コンパイル):
new Thread(new Runnable() {
public void run() {
final DataBaseHelper dbHelper = new DataBaseHelper(ActivityName.this);
dbHelper.openDataBase();
item_list = dbHelper.getAllItemNames();
ActivityName.this.runOnUiThread(new Runnable() {
public void run() {
ArrayAdapter<String> sAdapter = new ArrayAdapter<String>(
ActivityName.this,
android.R.layout.simple_dropdown_item_1line,
item_list);
itemNameAct = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView_item_name);
itemNameAct.setAdapter(sAdapter);
}
});
}
}).start();
ワーカー スレッド部分を doInBackground に配置し、コードの runOnUiThread 部分を onPostExecute に配置しましたが、起動時にクラッシュします。