آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

نمایش ProgressBar پیش از لود شدن لیست ویو

sirlordpouya  10 سال پیش  10 سال پیش
0 0

سلام.

من یه برنامه نوشتم که تمام دیتای مورد نیازش رو به صورت لیست ویو از سرور میگیره.

میخوام تا قبل از این که دیتای لیست ویو ها لود شه، یه لودینگ به کاربر نمایش داده بشه تا بدونه که کاری داره انجام میشه.

جایی خوندم که با استفاده از AsyncTask یه کارایی میشه کرد، اما دقیقا نمیدونم چجوری؟

امکانش هست کمک کنین؟؟ممنونم

0 0
خوب در آقاز یه لودینگ به کاربر نشون بدید و زمانی که دیتادریافت شد اونو اینویزیبل یا گان کنید ! (10 سال پیش)
0 0
آغاز ;D ! (10 سال پیش)
0 0
@admirallam خب چجوری بفهمم که دیتا کامل دریافت شده ! (10 سال پیش)
0 0
تا قبل اینکه لیست ویو رو پر کنی دیتا دریافت نشده ولی وقتی که متد adapter.notifidatasetchange رو صدا میزنی لیست پر میشه قبل این متد میتونی اونی Gone یا INVISIBLE کنی (10 سال پیش)
0 0
این کاری که گفتی رو کردم.اما نمیشه.تا زمانی که دیتاها کامل دریافت نشه و توی لیست ویو نشینه اپ هیچ چیزی نشون نمیده. صبر میکنه تا دیتاها کامل دریافت شن و بشینن تو لیست ویو بعد xml رو باز میکنه (10 سال پیش)
0 0
کمک جدیدی نیست؟ (10 سال پیش)
0 0
شما از ترد استفاده نکردید اینکارو بکنید مشکل حل میشه (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
sirlordpouya  10 سال پیش
+1 0

من از این روش استفاده کردم و مشکلم حل شد.

درج میکنم تا اگر بقیه دوستان نیاز داشتند استفاده کنند :

 

    class Task extends AsyncTask<String, Integer, Boolean> {

 

        final ListView lstContent = (ListView) findViewById(R.id.lstContent);

        ProgressBar    PB         = (ProgressBar) findViewById(R.id.progressBar1);

 

 

        @Override

        protected void onPreExecute() {

            lstContent.setVisibility(View.GONE);

            PB.setVisibility(View.VISIBLE);

            super.onPreExecute();

        }

 

 

        @Override

        protected void onPostExecute(Boolean result) {

            PB.setVisibility(View.GONE);

            lstContent.setVisibility(View.VISIBLE);

            adapter.notifyDataSetChanged();

            super.onPostExecute(result);

        }

 

 

        @Override

        protected Boolean doInBackground(String... params) {

            adapter = new AdapterNote(G.resource);

            lstContent.setAdapter(adapter);

            barnamenevisi.this.params.add(new BasicNameValuePair("CoName", "barnamenevisi"));

 

            Commands.read(barnamenevisi.this.params);

            return null;

 

        }

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .