数据适配器简介(ExpandableListAdapter) – Robin Hu的专栏 – 博客频道 – CSDN.NET

Android为我们提供了android.widget.Adapterandroid.widget.ExpandableListAdapter两大类数据适配器接口。

android.widget.ExpandableListAdapter接口主要和android.widget.ExpandableListView配合使用

android.widget.Adapter接口主要和android.widget.AdapterViewandroid.widget.ExpandableListView之除外的其他类配合使用。 

以下是ExpandableListAdapter接口及子接口和实现类的关系图

图1

数据适配器简介(ExpandableListAdapter) - hubingforever - 民主与科学

 

ExpandableListAdapter申明的主要接口有:getChild系列和getGroup系列及getCombined系列

实现ExpandableListAdapter的接口:

    

实现ExpandableListAdapter的类有

    BaseExpandableListAdapter

        CursorTreeAdapter

            ResourceCursorTreeAdapter

                SimpleCursorTreeAdapter

    SimpleExpandableListAdapter

更多请参考《ExpandableListAdapter

一、BaseExpandableListAdapter

    BaseExpandableListAdapter实现了接口ExpandableListAdapter

    BaseExpandableListAdapter的子类

        CursorTreeAdapter

            ResourceCursorTreeAdapter

    BaseExpandableListAdapter主要实现了ExpandableListAdapter接口的四个方法

    getCombinedChildId(long, long)

    getCombinedGroupId(long)

    onGroupCollapsed(int groupPosition)[空实现]

    onGroupExpanded(int groupPosition)[空实现]

更多请参考《BaseExpandableListAdapter

二、CursorTreeAdapter

    CursorTreeAdapter继承于BaseExpandableListAdapter是个虚类。

    它为cursorExpandableListView提供了连接的桥梁。

    CursorTreeAdapter的子类有

            CursorTreeAdapter

                ResourceCursorTreeAdapter

                    SimpleCursorTreeAdapter

    使用CursorTreeAdapter需要实现五个方法:bindChildView,bindGroupView,getChildrenCursor,newChildView,newGroupView

更多请参考《CursorTreeAdapter

三、ResourceCursorTreeAdapter

    ResourceCursorTreeAdapter继承CursorTreeAdapter

    它让用户提供Groupchild的布局文件id,

    然后实现来自于CursorTreeAdapter的两个方法(newChildView,newGroupView)来为用户创建Group和child的View

    ResourceCursorTreeAdapter的子类有

                    SimpleCursorTreeAdapter

    ResourceCursorTreeAdapter实现了来自于CursorTreeAdapter的两个方法:

    newChildView,newGroupView

    但使用CursorTreeAdapter还需要实现下面三个方法:bindChildView,bindGroupView,getChildrenCursor。

    更多可参考《ResourceCursorTreeAdapter》

四、SimpleCursorTreeAdapter

    SimpleCursorTreeAdapter继承于ResourceCursorTreeAdapter

    它为cursor和ExpandableListView提供了连接的桥梁。

    它提供把cursor的数据绑定到Group和child的布局文件中的控件的功能。绑定的控件只能是TextViewImageView

    SimpleCursorTreeAdapter没有子类。

    他实现了来自于ResourceCursorTreeAdapter的两个方法:

    bindChildView,bindGroupView

    但使用CursorTreeAdapter还需要实现一个方法:getChildrenCursor

更多请参考《SimpleCursorTreeAdapter

五、SimpleExpandableListAdapter

    SimpleExpandableListAdapter继承于BaseExpandableListAdapter。

    他负责把静态的group数据和child数据映射到XML文件中定的group和child视图上。

    SimpleExpandableListAdapter无子类。

    更多请参考《SimpleExpandableListAdapter

来源URL:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c422461b0030b0fa7d790d57938327365ff8540abdb6652969423db390ca824edbba866d72c8713b3147d9034c840eaebb116f8373cc0cbaff47b0adf142cdf59395c8552399055638c6a7cb&p=c63bcf0a85cc43be1dbd9b7e0e1296&newp=9e769a47ced001ff57ed977a17548f231610db2151d0d40d6c94&user=baidu&fm=sc&query=SimpleExpandableListAdapter&qid=8a58bce2000194be&p1=5