ای بابا،
داخل برنامه listview استاد کلاسی به نام AdapterNote می سازن و این کلاس از ArrayAdapter، ارث بری می کنه. در ضمن یکی از متد های این کلاس(کلاس ArrayAdapter)، به نام Getview رو داخل کلاس AdapterNote ، باز نویسی(override) می کنند.
از طرفی دیگه یه کلاسی به نام ListActivity ساختن که داخل این کلاس، از کلاس ArrayAdapter یک نمونه به نام adapter ساخته می شه.
اون طوری که من پگیری کردم، موقعی که خاصیت، ()notifyDataSetChanged از نمونه adapter ساخته می شه یعنی:
adapter.notifyDataSetChanged();
اون موقع متد getview که در کلاس AdapterNote قرار دارد و override شده نیز اجرا می شود.
دلیل اجرا متد getview در این موقع چیه؟
اگر بد توضیح دادم بخشید.داخل ویدئو ها کدش هست. ولی حتما در صورت امکان راهنمایی کنید. متشکرم
همانطور که گفتید adapter یک نمونه ساخته شده از کلاس adapterNot هست هنگام اسکورل لیست ویو به پاینی( یا بالا) باید به قول استاد یک الوار از بالا به پایین آورده شود و صد البته که همه این الوارها مثل هم نیستند (مثلاً یکی قرمز هست ، یکی سبز ..) کار ویو ConvertView اینست که نقش همان الوار ها را داشته باشد و کارنمونه ساخته شده از کلاس
ViewHolder که در مثال استاد holder نام دارد اینست که با فراخوانی متد fill به آن الوار ها ویژگی های منحصر به فرد مثل رنگ متمایز بدهد حالا به سوال شما می رسیم که کار دلیل فراخوانی متد getView چیست؟ در واقع همه این کنش ها درون این متد اجرا می شوند و خود این متد هم از طریق نمونه ساخته شده از کلاس AdapterNoteبه نام adapter با استفاده از دستور
adapter.notifyDataSetChanged();
فراخوانی می شود
( باشد که رستگار شوید ==> امیدوارم مفید باشه)
( در کل پیشنهادم اینه که اگه موضوعی رو کامل متوجه نشدید اشکالی نداره فقط کلیشه ای یاد بگیرید و بعداً که تمرین می کنید خودتون کم کم متوجه عمق کار می شید)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .