我在 Android 世界中相对较新,UI/Thread 模型仍然令人困惑。
这是我正在尝试做的事情:
从 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);
}
});
为此,我有一个线程和两个 runOnUiThread 调用。我觉得不必处理这些线程就可以有更好的解决方案。我对吗?
谢谢