| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> kotlin中ExpandableListView无法设置adapter? -> 正文阅读 |
|
[移动开发]kotlin中ExpandableListView无法设置adapter? |
很长时间没有使用 ExpandableListView 了,kotlin 也上手使用了很长时间,前几天业务重构时候,想使用 ExpandableListView 来实现新的展开模式,但是却发现没法给 ExpandableListView 设置适配器了,一度怀疑是 Android 源码出 bug 了,时隔多年,又在作什么妖 众所周知,ExpandableListView 的 adapter 需要继承 BaseExpandableListAdapter,并实现其中的一大坨方法 但是我们给 ExpandableListView 的 adapter 赋值的时候,却报错了 mExpandableListView.adapter = mBaseExpandableListAdapter
以上为 ExpandableListView 的 setAdapter 的源码,可以看到,这是重写的 ListView 的 setAdapter 方法,ExpandableListView 是继承 ListView 的 从源码可以清晰的看出,需要传进去 ListAdapter 然后看了一下 BaseExpandableListAdapter 的父类,居然没有 ListAdapter。 这,,, 然后仔细看了下抛出的异常提示:For ExpandableListView, use setAdapter(ExpandableListAdapter) instead of setAdapter(ListAdapter) 意思是用另一个接收 ExpandableListAdapter 的重载来代替 当前这个 翻官方文档 果然 kotlin 中,直接 mExpandableListView.adapter 自动调用的是重写的父类的 setAdapter,他接收的是 ListAdapter 参数 而他的另一个,接收 ExpandableListAdapter 的方法,则需要写成 mExpandableListView.setAdapter() 至此,问题解决 关注这个公众号92元充100话费、可以每天领外卖、买菜优惠券,便宜的电影票、还有联通校园卡500两年,200分钟国内通话/月,20G全国流量/月+20G北京校园区域流量/月。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:43:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |