簡述:
adapter是數據與ui之間的橋梁,它把后台數據與前端ui連接到一起,是一個展示數據的載體。
常用的adapter:
BaseAdapter : 基礎適配器,對於spinner listview gridview 都是通用的,它是一個抽象類,繼承后要實現的方法很多
ArrayAdapter : 是BaseAdapter的一個子類,可以直接使用泛型,使用起來比較簡單
CursorAdapter:
ListAdapter:
SimpleAdapter :擴展性好,可以定義各種各樣的布局,它里面涉及到的數據全是hashmap構成的List
SimpleCursorAdapter: 可以從數據庫中讀取數據顯示在列表上
ResourceCursorAdapter:
SimpeCursorAdapter的案例
ContentResolver contentResolver = getContentResolver(); Cursor query = contentResolver.query(Contacts.People.CONTENT_URI, null, null, null, null); //將query交給activity管理,使其與activity同步 startManagingCursor(query); SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_1, query, new String[]{Contacts.People.NAME}, new int[]{android.R.id.text1});
FragmentPagerAdapter
使用的時候可以將保存fragment的集合直接傳入,然后結合 viewpager來使用
fragmentpageradapter是PagerAdapter中的其中一種實現,
它繼承android.support.v4.view.PagerAdapter。它將每一個頁面表示為一個 Fragment,並且每一個Fragment都將會保存到fragment manager當中。而且,當用戶沒可能再次回到頁面的時候,fragment manager才會將這個Fragment銷毀。 <span style="white-space:pre"> </span>mViewPager = (ViewPager) view.findViewById(R.id.vp_show_myadd_patient); |
mShowMyPatientListAdapter = new ShowMyPatientListAdapter(getActivity().getSupportFragmentManager()); mViewPager.setAdapter(mShowMyPatientListAdapter); <ol class="dp-xml" start="1"><li class="alt"><span><span>class ShowMyPatientListAdapter extends FragmentPagerAdapter { </span></span></li><li><span> </span></li><li class="alt"><span> public ShowMyPatientListAdapter(FragmentManager fm) { </span></li><li><span> super(fm); </span></li><li class="alt"><span> } </span></li><li><span> </span></li><li class="alt"><span> @Override </span></li><li><span> public Fragment getItem(int arg0) { </span></li><li class="alt"><span> return mArrayList.get(arg0); </span></li><li><span> } </span></li><li class="alt"><span> </span></li><li><span> @Override </span></li><li class="alt"><span> public int getCount() { </span></li><li><span> return mArrayList.size(); </span></li><li class="alt"><span> } </span></li><li><span> </span></li><li class="alt"><span>} </span></li></ol>
fragmentpageradapter 中常見的方法: |
public void destroyItem(ViewGroup container, int position, Object object)remove a page for the given position
<-- 未完-->
android.support.v4.view.PagerAdapter