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

زمان بردن طولانی هنگام setAdapter در ListView

mgh  12 سال پیش  12 سال پیش
0 0

سلام

من یه لیست ویو دارم که تعداد آیتم های داخل اون هم زیاد نیست. حد اکثر 30 تا

ولی زمانی که برای SetAdapte میبره خیلی زیاده(هر دفه حدود 4-5 ثانیه)

از طرفی چون این متد باید توصط Main Thread انجام بشه نمیتونم لودینگ داشته باشم.

چی کار کنم ؟!!!

0 0
نباید مشکلی باشه، حتماً یک جای کار ایراد اساسی دارید. نوع آیتم ها، ساختارش و سورس کد قبل از SetAdapter رو باید بذارید. (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
0 0

اگر در طراحی الگوریتم اصلی مشکلی نیست ، که سبب ایجاد این وقفه بشه ، می تونید یک رشته ایجاد کنید ، تا زمانی که رشته در حاله کاره  یک دیالوگه غیر قابل بستن نمایش داده بشه ، حالا اگر دستگاهه کسی سریع تر باشه ، با این دیالوگ کمتر رو به رو میشه ، به هر حال انجام دادن هرکاری با یک رشته ی جدید باعث میشه عملکرد برنامه روان تر بشه ، کاربر کم تر اذیت بشه ، 

اینم یه روش جدید ، برای اجرای کد در UI Thread که خیلی کم دردسر تر از Handler ها هست :) 

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {

            @Override
            public void run() {
             //دسترسی به عناصر با استفاده از MAIN UI !

            }
        });
    });
}

موفق باشید

0 0
وا alu جان! این کجا ساده تر از Handler هست. شما به جای runOnUiThread بذاری G.handler.post فرقی می کنه؟ در ضمن با Handler می تونی postDelayed هم داشته باشی. (12 سال پیش)
0 0
:| گفتم یه روش جدید گفته باشم :) (12 سال پیش)

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