لوگوی وبسایت
تمام آموزش های وبسایت رایگان می باشد ، پس از صفحات مختلف سایت دیدن فرمایید .

آموزش ساخت لیست ویو های اختصاصی در اندروید

سلام دوستان امیدوارم حالتون خوب باشد ، قرار است در این مقاله روش ساخت لیست ویو های اختصاصی رو در آندروید رو برای شما قرار بدهم .

سورس کار:

دانلود “سورس لیست ویو اختصاصی اندروید” CustomListView.rar – Downloaded 146 times – 5 MB

روند انجام کار …

اول ما باید یک Layout بسازیم ، قرار هست برای هر ایتم ما یک بار اون لی اوت کپی بشود . سپس یک ArrayAdapter اختصاصی میسازیم و آن را به ListView اختصاص میدهیم .

این وسط ! یک کلاس دیگه هم هست به نام ListHolder که میتونیم اصلا نسازیمش ولی برای راحتی کار ساختیم ، این کلاس قراره اطلاعات هر ایتم رو در خودش نگه دارد . پس اول یک پروژه میسازیم و سپس مراحل زیر را انجام میدهیم .

ساخت کلاس نگه دارنده

ما اول باید کلاس ListHolder را بسازیم ، همان طور که در توضیحات بالا گفتم ، در این کلاس ایتم های ما ذخیره می شوند و چون قرار طی این آموزش ما یک عنوان و یک متن رو نمایش بدهیم ، ۲ متغیر نیاز دارد و یک Constructor برای راحتی کار . اول مدل را میسازیم :

2

حالا کدمون رو میسازیم :

همین کد کوچولو ! خیلی کمکمون میکند.

آماده سازی Layout ها

ما ۱ Layout اضافی نیاز داریم ( در توضیحات بالا هم ذکر کرذم ) این لی اوت در اصل به ازای هر ایتم تکرار میشود :

اول Layout رو میسازیم :

3

حالا کد زیر رو در آن قرار میدهیم :

یکم توضیح بدم که height لی اوت شما ارتفاع ایتم شما هم میشود پس Height لی اوت رو wrap_content قرار بدید و به آن min_height بدهید .

حالا باید Layout اصلی رو آماده کنیم و یک ListView در آن قرار میدهیم :

1

کد XML هم به کد زیر تغییر میدهیم :

خوب حالا باید آداپتر را آماده کنیم .

آداپتر اختصاصی برای لیست ویو اختصاصی

ابتدا طبق آموزش قبلی یک کلاس میسازیم ، این کلاس را باید extends به ArrayAdapter کنیم ( نوع رو برابر با نام کلاس نگه دارنده قرار میدهیم ):

خوب ما ۲ متد اصلی نیاز داریم ، یکی Constructor یکی دیگه getView که جلوتر دربارش توضیح خواهم داد .

ما ۳ ورودی حتما نیاز داریم ، Activity ، LayoutInflater  و لیست ایتم هایی که میخواهیم نمایش دهیم و باید آن ها را در متغیر های کلاس ذخیره کنیم .

حالا باید متد getView را بسازیم ، این متد مقدار View ایتم های لیست ویو رو بر میگرداند و ۳ ورودی دارد که ورودی اول آن برای خیلی مهم است ، چون Position هست ! یعنی درحال ساخت کدوم ایتم هستیم !

حالا باید View ایی که میخواهیم خروجی دهیم را بسازیم ، برای این کار از Inflater ایی که ساختیم استفاده میکنیم .

( list_item ) همان نام Layout ایی است که قراره برای هر ایتم نمایش دهیم .

حالا مقادیری که میخواهیم را در View تغییر میدهیم ( در این آموزش عنوان و توضیحات است ) و در آخر Row را بر میگردانیم :

همه چیز آماده است ! حالا وقت آن است که ListView را مدیریت کنیم . برای اینکار باید اول Inflater را در اکتیویتی اصلی بسازیم :

حالا سطر ها را آماده میکنیم :

حالا آداپتر رو میسازیم و به لیست ویو نسبت میدهیم :

تبریک ! اماده شد 🙂 حالا خروجی میگیریم :

4

متون فارسی به شکل ????? اند ؟

مشکلی نیست فقط encoding فایل اکتیویتی رو باید تغییر بدید :

5

اگر مشکلی بود در نظرات اعلام فرمایید . خدانگهدار

دانلود “سورس لیست ویو اختصاصی اندروید” CustomListView.rar – Downloaded 146 times – 5 MB

بر چسب های پست : , , , , , ,
مطالب مرتبط
سلام دوستان امیدوام حالتان خوب باشد . در این آموزش قرار است یک سیستم پوش نوتیفیک ...
۱۳ اسفند ۹۴
7 دیدگاه
سلام دوستان . امیدوارم حالتان خوب باشد . محمد حسینی راد هستم و با آموزش کار با ا ...
۲۸ آذر ۹۴
12 دیدگاه
سلام دوستان امیدوارم حالتان خوب باشد . اندروید ساپورت ( Support ) یک کتاب خانه ع ...
۲۶ آبان ۹۴
2 دیدگاه
سلام دوستان امیدوارم حالتون خوب باشد ، همان طور که قول دادم کتاب خانه ی جاوای mh ...
۲۱ شهریور ۹۴
2 دیدگاه
3 دیدگاه برای “آموزش ساخت لیست ویو های اختصاصی در اندروید”
  1. حامی گفت:

    سلام
    تشکر بابت سایت و کانالت
    شما میتونی طریقه استفاده از کلاس parallx view recycle که در گیت هاب هست را راهنمایی کنی یا اگه سورسی میشناسی معرفی کنید … ممنون

  2. محسن گفت:

    درود بر شما توسعه دهنده عزیز
    راهنمایی از خدمتتون میخواستم و اونم اینه که بنده قصد زطراحی یک اپ رینگتون دارم
    کلاس های لازم را ساختم و ایتم هر لیست ویو نیز مشخص شده اما برای متد کلیک روی هر ایتم و پخش رینگتون خاص مشکل دارم و نمیتونم استفاده کنم
    اگر مقدور هست راهنمایی بفرمایید
    با تشکر از لطف جنابعالی

    1. سلام دوست عزیز
      شما باید یک کاستوم لیست ویو بسازید ( طبق آموزش ) و در ویو ان برای کار های مد نظرتان یک button بسازید و برای هر دکمه یک onclicklistener تعریف کنید .
      تعریف listener رو میتونید در متد getView انجام دهید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ورود به حساب کاربری

بستن این پنجره