iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
0

今天一樣來談談 BaseExpandableListView 需要 override 的方法的功能。

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

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

這兩個方法字面上看起來就與 RecyclerView.Adapter 的 onCreateView 一樣,是用來生成相對應 View 用的,而其中幾項參數是 RecyclerView 所沒有的,會拿出來討論一下。

getGroupView : isExpanded: Boolean
顧名思義是可以讓該 Group 是否可以被展開的控制項。

getChildView : isLastChild
用來判斷此 child 是否為最後一個子項目。

getChildView : groupPositionchildPosition
通常 childList 會是用二維陣列的方式,所以這邊會多一個 groupPostion 可以讓我們判斷是要拿哪一個陣列,所以在創建 childList 時,必須注意一下順序,才不會讓這邊拿到錯誤的 List。


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

尚未有邦友留言

立即登入留言