zoukankan      html  css  js  c++  java
  • 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);  
    <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
  • 相关阅读:
    初步学习pg_control文件之四
    初步学习pg_control文件之三
    初步学习pg_control文件之二
    初步认识pg_control文件之一
    Slony-I的 RemoteWorker重试调查
    对Slony-I中wait on的理解
    超高逼格Log日志打印
    实现列表二级展开/收起/选择
    贝塞尔曲线实现购物车飞入效果
    乐鑫esp8266的 基于Nonos移植红外线1883,实现遥控器控制
  • 原文地址:https://www.cnblogs.com/miaozhenzhong/p/5930929.html
Copyright © 2011-2022 走看看