Я относительно новичок в мире Android, и модель UI / Thread все еще сбивает с толку.
Вот что я пытаюсь сделать:
Загрузка данных из Интернета. Обработка их Показатьим Показывать 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);
}
});
У меня есть один поток и два вызова runOnUiThread для этого.Я чувствую, что могло бы быть лучшее решение, не имея дело с этими темами.Я прав?
Спасибо