میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

ListFragment و ListActivity در اندروید

اندروید با ارائه ی fragment ها و کلاس های activity ویژه، پیاده سازی و مدیریت لیست را برای توسعه دهنده بسیار آسان می کند.

برای ایجاد لیست در activity و fragment اندروید به ترتیب کلاس های ListActivity و ListFragment را ارائه می دهد.

لازم به ذکر است که برای این المان ها نیازی به تخصیص layout نیست چرا که activity یا fragment مورد نظر خود به صورت پیش فرض خود یک ListView آماده دارند.

ListActivity و ListFragment به برنامه نویس این اجازه را می دهند تا با بازنویسی (override ) پیاده سازی متد () onListItemClick انتخاب آیتم ها در لیست را مدیریت کند.

هر دو کلاس همچنین این اختیار به برنامه نویس می دهند تا adapter را به وسیله ی متد SetListAdapter() به ListView پیش فرض متصل کند

نمونه کد زیر یک پیاده سازی ساده از ListFragment را نشان می دهد.

 

package de.vogella.android.fragments;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.app.ListFragment;
public class MyListFragment extends ListFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO implement some logic
 
}
}

نمونه کد بعدی که مشاهده می کنید، استفاده از ListActivity را به نمایش می گذارد.

 

package de.vogella.android.listactivity;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class MyListActivity extends ListActivity {
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
}

 


ListActivity و layout اختصاصی 

شما می توانید برای هر دو کلاس ListActivity و ListFragment فایل layout اختصاصی داشته باشید. در این مثال  fragment یا activity در layout ارائه شده به دنبال ListView ای که مقدار android:id آن به صورت پیش فرض بر روی @android:id/list تنظیم شده است، می گردد. تکه کد زیر این کاربرد را به نمایش می گذارد.

 

<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>

توجه: در صورتی که از این ID استفاده نکرده یا ListView را در layout خود اضافه نکنید، اپلیکیشن به هنگام نمایش activity یا fragment مربوطه از کار می افتد.

 


انتخاب یک view مکان نگهدار/ placeholdder برای لیست خالی

می توانید از یک view با شاسنه ی @android:id/empty در layout خود استفاده کنید. چنانچه ListView تهی باشد، در آن صورت activity و fragment مربوطه این view را به صورت خودکار نمایش می دهند و در غیر این صورت آن را به طور کلی مخفی می کند. در چنین view ای شما می توانید یک پیغام خطا را به نمایش بگذارید.

 


امیدواریم آموزش ListFragment و ListActivity در اندروید نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

 

ارسال دیدگاه

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

×

سلام کاربر عزیز

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

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟