بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
نحوه ایجاد loading
سلام
من یه loading میخواستم برای برنامم بسازم خودم از این روش استفاده کردم ولی حس میکنم اشتباهه
public void PopulateFromServer()
{
showLoadingDialog();
String result = Webservice.readUrl("http://192.168.1.7/car_news/service.php?action=read", null);
null);
if (result != null)
{
try {
applications.clear();
JSONArray car_news = new JSONArray(result);
for (int i = 0; i < car_news.length(); i++)
{
JSONObject object = car_news.getJSONObject(i);
StructApplication application = new StructApplication();
application.car_id = object.getInt("car_id");
application.car_name = object.getString("car_name");
applications.add(application);
}
}
catch (JSONException e) {
e.printStackTrace();
}
adapter.notifyDataSetChanged();
dismissLoadingDialog();
}
}
public void showLoadingDialog() {
if (progress == null) {
progress = new ProgressDialog(this);
progress.setTitle("title");
progress.setMessage("Loading");
}
progress.show();
}
public void dismissLoadingDialog() {
if (progress != null && progress.isShowing()) {
progress.dismiss();
}
}
0
0
لطفا عنوان سوالتون رو هم مرتبط با محتوا بنویسید (11 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
مجتبی یگانه
11 سال پیش
+2
0
اشتباه نیست ، در واقع میتونه بهتر بشه !
شما کار ها رو thread base انجام ندادید ، البته ممکنه readUrl با Thread انجام شده باشه که سورس اش اینجا نیست ! ، در کل من معمولا کار ها رو با یک Thread انجام میدم ، در ابتدای run شدن اش دیالوگ رو نشون میدم ، در انتها هم مخفی میکنم ، می تونیم با یک try/catch هم کنترل کنیم که اگه خطایی اتفاق افتاد ، دیالوگ Dismiss بشه
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
G.handler.post(new Runnable() {
@Override
public void run() {
// Show Alert Dialog
}
});
// Do Job
// Dismiss Dialog
}
catch (Exception e) {
e.printStackTrace();
// Dismiss Dialog
}
}
});
البته بازم به کاربرد شما بستگی داره که دیالوگ کجا Dismiss بشه
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .