آموزش ListView در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش های برنامه نویسی اندروید به آموزش ListView در برنامه نویسی اندروید می پردازیم از لیست جاهای مختلف می توانید استفاده کنید تعریف ListView گروهی از آیتم های هستند که در یک لیست نمایش داده خواهد و قابل scroll خواهد بود پس در x جا می توان از آن استفاده کرد در ادامه با ما همراه باشید.
ابتدا به یکسری از ویژگی های listview می پردازیم.
android:id که مثل همیشه یک ایدی منحصر به فرد برای ما ایجاد می کند.
android:divider اگر دقت کرده باشید بین هر لیست یه خطی وجود دارد شما می توانید یک عکس یا رنگ را برای آن قرار دهید.
android:dividerHeight اندازه همون divider ما که اندازه های dp , sp , px و mm را می پذیرد تعیین می کند.
android:entries اگر یک آرایه در یک فایل xml داشته باشید می توانید آن را در لیست خود populate (قرار دهید) کنید.
android:footerDividersEnabled اگر این ویژگی را برابر با true قرار دهیم بعد از هر ایتم یک خط نمایش داده می شود.
android:headerDividersEnabled این خط همانند همان خط پایین می ماند فقط در بالای هر ایتم قرار دارد.
حالا برویم به سراغ کد برنامه
ابتدا در Activity_main.xml خودمان یک لیست view تعریف می کنیم همانند زیر
1 2 3 4 5 6 7 8 9 10 11 12 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ListActivity" > <ListView android:id="@+id/mobile_list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> |
بخش Mainactivity.java به شکل زیر می شود در ادامه آن را توضیح می دهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.example.ListDisplay; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget.ListView; public class ListDisplay extends Activity { // Array of strings... String[] mobileArray = {"Android","IPhone","WindowsMobile","Blackberry", "WebOS","Ubuntu","Windows7","Max OS X"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.activity_listview, mobileArray); ListView listView = (ListView) findViewById(R.id.mobile_list); listView.setAdapter(adapter); } } |
در بالا ما یک ارایه داریم که شامل دیتا های ماست برای اینکه آن را در listview خود populate کنیم باید یک اداپور از آرایه خودمان درست کنیم برای اینکار از ArrayAdapter استفاده می کنیم ما باید یک ایتم از listview را ایجاد کنیم و برای همین باید یک فایل دیگر در res/layout ایجاد کنید که در بالا اسم آن activity_listview است که در پایین آن را قرار می دهیم
پس باید یک فایل به نام activity_listview.xml ایجاد کنیم
1 2 3 4 5 6 7 8 9 10 | <?xml version="1.0" encoding="utf-8"?> <!-- Single List Item Design --> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip" android:textSize="16dip" android:textStyle="bold" > </TextView> |
همانطور که می بینید یک TextView است ! ما باید آن را سفارشی کنیم همانند بالا (پس شکل آن هم دست خودمان است).
در بالاتر اداپتور را که تعریف کردیم باید بعد از ساخت یک اداپتور ایتمی که درست کردیم را قرار می دهیم سپس ارایه خودمون که mobileArray را قرار می دهیم.
بعد از آن Listview خودمان را پیدا می کنیم سپس اداپتور را در آن ست می کنیم .
این هم از این آموزش انشاالله مفید بوده باشد.
موفق باشید.
سپاس
خواهش می کنم