Android 中的adapter和作用以及常见的adapter



简述:

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);

	class ShowMyPatientListAdapter extends FragmentPagerAdapter {

		public ShowMyPatientListAdapter(FragmentManager fm) {
			super(fm);
		}

		@Override
		public Fragment getItem(int arg0) {
			return mArrayList.get(arg0);
		}

		@Override
		public int getCount() {
			return mArrayList.size();
		}

	}


fragmentpageradapter 中常见的方法:

1. public void destroyItem(ViewGroup container, int position, Object  object)

remove a page for the given position



 


<-- 未完-->

早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页