آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

آموزش ListView

جمعه, ۱۱ بهمن ۱۳۹۸، ۱۱:۵۵ ب.ظ

برای نمایش لیستی از اطلاعات از ListView استفاده میشه که خیلی پرکاربرده.

اول باید کلاس Model رو بسازیم. کلاس مدل همون چیزیه که قراره توی هر سطر از لیست نمایش داده بشه. اینجا من کلاس Flower رو برای مدل در نظر گرفتم. در ادامه لیست رو ایجاد میکنیم.

قدم اول: یک ریسورس از جنس لی اوت برای هر سطر ایجاد میشه.

 

 

قدم دوم: یک اداپتر ایجاد میکنیم تا هر سطر رو اونجوری که میخوایم توی لیست ویو نشون بده. دو نوع اداپتر داریم، ArrayAdapter و BaseAdapter.

BaseAdapter یک کلاس ابسترکت هست که ArrayAdapter هم اونو اکستند کرده.

بنابراین ما برای کاستوم ادپتر کلاس BaseAdapter رو اکستند کرده و متدهای اون رو پیاده سازی میکنیم. توی سازنده این کلاس کانتکس و لیستی از کلاس مدل رو میدیم. (دقیقا باید همین جوری باشه)

 

 

Item شی فعلی از کلاس Model هست که الآن نوبتش رسیده که نمایش داده بشه. position هم اندیس این شی توی لیست هست.

مهم ترین متد این کلاس getView هست. یکی از پارامترهای ورودی این متد convertView هست که این همون ویویی هست که الآن نوبتش رسیده که نمایش داده بشه. اگر توی این ویو هیچی نباشه، ریسورس لی اوت توی این ویو inflate میشه. 

ایده این روش اینجوریه که فقط چند تا (مثلا پنج، شیش تا - فکر کنم با توجه به اندازه ال سی دی) سطر ایجاد میشه و بعد از اون با اسکرول کردن و خارج شدن هر سطر، اون سطر خارج شده دوباره از پایین وارد میشه. این کار برای اینه که inflate کردن پروسه هزینه بری هست و اینجوری باعث میشه سرعت بهتر بشه. (قسمت 1)

حالا از ویوی سطری که توش هستیم، دونه دونه ویجت ها رو بیرون میکشیم و مقدارشونو با مقادیر شی Model فعلی پر میکنیم. (قسمت 2)

 

 

موافقین ۰ مخالفین ۰ ۹۸/۱۱/۱۱
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی