هل هذه هي أفضل طريقة لإظهار المحتوى؟
سؤال
أنا جديد نسبيًا في عالم Android ، ولا يزال نموذج واجهة المستخدم/الخيط مربكًا.
هذا ما أحاول القيام به:
قم بتحميل البيانات من معالجة الويب الخاصة بهم ، تظهر لهم عرض 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 لذلك. أشعر أنه يمكن أن يكون هناك حل أفضل دون الحاجة إلى التعامل مع هذه الخيوط. هل انا على حق؟
شكرًا
المحلول
يستخدم Asynctask - تم إنشاؤه لهذا النوع من السيناريوهات: تشغيل مهمة خلفية أو عملية (طويلة) ، مع الاستمرار في تحديث واجهة المستخدم بالطريقة الصحيحة (على EDT).
لا تنتمي إلى StackOverflow