私は Android の世界では比較的新しく、UI/スレッド モデルはまだ混乱しています。
これが私がやろうとしていることです:
Web からデータを読み込む それらを処理する それらを表示する 問題がある場合は AlertDialog を表示する
私は現在このようにやっていますが、そのように多くのスレッドを使用することが最善の方法であるかどうかはわかりません。
onCreate() の内部
final ProgressDialog pd = ProgressDialog.show(this, "", loadingText, true);
final AlertDialog.Builder b = new AlertDialog.Builder(this);
new Thread(new Runnable() {
@Override
public void run() {
try {
loadResorts();
} catch (ResortsRetrievalException e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
b.setMessage(R.string.resorts_retrieval_error)
.show();
}
});
}
pd.dismiss();
}
}).start();
そして、私の loadResorts メソッドは次のように終了します
final BaseAdapter a = new ResortAdapter(this, R.layout.resort_item, resorts);
runOnUiThread(new Runnable() {
@Override
public void run() {
resortsList.setAdapter(a);
}
});
そのために、1 つの Thread と 2 つの runOnUiThread の呼び出しがあります。これらのスレッドに対処しなくても、より良い解決策があると思います。私は正しいですか?
ありがとう