بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

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

مدیریت گفتگو
فرزاد سیدی 11 سال پیش
آخرین تغییر: 11 سال پیش

دوستان من میتونم توی جایی که میخوام دیتا ها رو تغییر بدم و بعد بریزم توی آرایه ای که آداپترم رو بهش وصل کردم و در آخر 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

بی نشان 11 سال پیش

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

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

نظرات

فرزاد سیدی 11 سال پیش
چرا خب نشون میده فکر میکنم من الان ریختم توی آداپتر و ناتیفی دیتا نکردم ولی نشون داد ..

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