作业点评疑问

作业点评疑问

作业点评:先不要mElv.setAdapter(),你所得到的数据放在列表中,然后传给adapter,getChildrenCount()和getChild(),getChildView()等才能与此数据联系起来,你的代码中根本没有用到此数据列表。只是输出了一个而已,所以会出现空指针。

 Cursor c = resolver.query(Uri.parse("content://com.imooc.menuprovider"),null,null,null,null);然后循环String name = c.getString(1);

 String type = c.getString(2);根据这两个属性可以做成一个菜品对象,放到某容器中如list,type就是菜品的一种分类,也放到某容器中。如果想提高效果,再来一次循环,把每一个菜品的分类做为key,相同分类的菜品对象list做为value,存到map中。就可以使用了。

老师你在我的作业上说不先用adapter,意思是得先把列表数据获得,做成一个容器,传到adapter里面?那么这题适配器是不是不能用cursorTreeAdapter,得用baseAdapter才不会空指针?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

这跟用什么适配器是没有关系的。都得先获得数据然后再与适配器连接,或者在你的适配器中先判断数据源是不是为空或长度为0。你为什么不用BaseExpandableListAdapter ?祝:学习愉快

  • FRISHRIGHT 提问者 #1
    嗯对,我说错了,是不是得用BaseExpandableListAdapter,因为cursorTreeAdapter没有你所说的那些接口方法啊?跟适配器没有关系,为什么我作业用cursorTreeAdapter行不通?
    2017-08-31 17:37:03
  • 好帮手慕雪 回复 提问者 FRISHRIGHT #2
    都得先获得数据然后再与适配器连接。你用cursorTreeAdapter也行,只不过实现的不方便。因为菜单中有一多个菜单分类,分类下面又有多个菜品的。所以建议使用BaseExpandableListAdapter
    2017-08-31 18:45:54
  • FRISHRIGHT 提问者 #3
    非常感谢!
    2017-09-04 08:49:43
jfhdibrbfjd 2017-11-02 16:43:38

我去原来得用BaseExpandableListAdapter  我说怎么就不行呢这么费劲呢

到现在都没做出来

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师