iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
0

如果今天的資料量是一組一組,有個 Group 底下有專屬這個 Group 的資料,這時候不管是 ListView 或是 RecyclerView 都無法達到這樣的效果,這時候 android 有個原生的好東西可以使用 - ExpandableListView。


跟 RecyclerView 一樣 ExpandableListView 也需要一個 Adapter 來傳遞資料,而這 Adapter 需要繼承 BaseExpandableListAdapter , 而 BaseExpandableListAdapter 是個抽象類別,它需要繼承的 Class 為它實作 10 個 Function。

    override fun getGroup(groupPosition: Int): Any {
    }

    override fun isChildSelectable(groupPosition: Int, childPosition: Int): Boolean {
    }

    override fun hasStableIds(): Boolean {
    }

    override fun getGroupView(groupPosition: Int, isExpanded: Boolean, convertView: View?, parent: ViewGroup?): View {
    }

    override fun getChildrenCount(groupPosition: Int): Int {
    }

    override fun getChild(groupPosition: Int, childPosition: Int): Any {
    }

    override fun getGroupId(groupPosition: Int): Long {
    }

    override fun getChildView(
        groupPosition: Int,
        childPosition: Int,
        isLastChild: Boolean,
        convertView: View?,
        parent: ViewGroup?
    ): View {
    }

    override fun getChildId(groupPosition: Int, childPosition: Int): Long {
    }

    override fun getGroupCount(): Int {
    }

這 10 個 Function 的意思我們明天再一一做介紹,其中有幾個和 RecyclerView.Adapter 裡的 Function 很類似,只是 ExpandableListView 有著更複雜的結構,所以必須多幾個 Function 來協助。


上一篇
[Day 20] Android 實作 - Retrofit(2)
下一篇
[Day 22] Android 實作 - ExpandableListView(2)
系列文
Android心得筆記×Kotlin語法初探 不是新手村 是嬰兒村30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言