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

سوال تکمیلی در مورد لیست ویو

فرزاد سیدی  9 سال پیش  9 سال پیش
0 0

دوستان من میتونم توی جایی که میخوام دیتا ها رو تغییر بدم و بعد بریزم توی آرایه ای که آداپترم رو بهش وصل کردم و در آخر adapter.notifydatasetchenged(); بزنم به جای اینکه دیتا ها رو در آرایه بریزم مستقیم بریزم توی آداپتر و دیگه لازم نباشه notifydata... رو بزنم؟ ایرادی داره این کار؟ مثل سورس زیر :

حالتی که استاد گفتن :

 adapter = new AdapterName(G.names);

        lstName.setAdapter(adapter);

        for (int i = 0; i < 20; i++) {

            StructName note = new StructName();

            note.name = "Farzad # " + i;

            note.number = "Number = " + i;

            G.names.add(note);

        }

        adapter.notifyDataSetInvalidated();

 

حالتی که من مد نظرم هست :

 

        adapter = new AdapterName(G.names);

        lstName.setAdapter(adapter);

for (int i = 20; i < 40; i++) {

           StructName note = new StructName();

           note.name = "Farzad # " + i;

           note.number = "Number = " + i;

           adapter.add(note);

       }

با این کار مشکلی پیش نمیاد ؟ چون شاید گاهی نخوام از notifydatasetchenged(); استفاده کنم و صفحم رفرش بشه و بیاد از اول... با روش دوم نیازی به استفاده از adapter.notifydatasetchenged(); ندارم دیگه ؟؟؟ اصولی هست این روش یا خیر ؟؟؟ انجام دادم و خوب جواب داده ولی میخوام از این روش مطمین بشم ... ممنون

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
بی نشان  9 سال پیش
0 0

نگاه کن شما موقعی که اطلاعاتت رو برای اولین بار وارد میکنی وقتی adaptersetchange نکنی چیزی مشاهده نمیکنی

پس برای این که نشون بدی باید این کارو بکنی یا موقعی که تغییری روی یکی از دیتا ها به وجود اوردی

0 0
چرا خب نشون میده فکر میکنم من الان ریختم توی آداپتر و ناتیفی دیتا نکردم ولی نشون داد .. (9 سال پیش)

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