ListView无法显示,经自己的调试怀疑是适配器有问题,老师帮我瞧瞧!!

ListView无法显示,经自己的调试怀疑是适配器有问题,老师帮我瞧瞧!!

http://img1.sycdn.imooc.com//climg/5e69123309ef7c5904670864.jpghttp://img1.sycdn.imooc.com//climg/5e69125b091dbbb403110458.jpghttp://img1.sycdn.imooc.com//climg/5e691134099b59f910000070.jpg适配器传送过去的数据源里有数据http://img1.sycdn.imooc.com//climg/5e691180096f883f05810165.jpg

我在自定义适配器里打断点并调试,但程序并没有中断

自定义适配器里的代码:http://img1.sycdn.imooc.com//climg/5e6911e80944e07405390366.jpghttp://img1.sycdn.imooc.com//climg/5e6911f709497ce905880554.jpg

正在回答 回答被采纳积分+1

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

1回答
好帮手慕雪 2020-03-12 11:07:36

http://img1.sycdn.imooc.com//climg/5e69a5e30978075502510075.jpg

1)这里直接返回position。

http://img1.sycdn.imooc.com//climg/5e69a6500985ce4605340487.jpg

2)初始化应该放在ViewHolder的构造方法中,view通过ViewHolder构造方法传入。

3)然后看一下listView在布局中的宽高,是不是高度有问题,所以没有显示出来呢。 4)查看有没有为ListView设置adapter等情况。祝:学习愉快

  • 提问者 亚璃子 #1
    可是5-2的视频里没有用构造方法也能显示listView,宽高的话我让activity只显示一个listview也还是没显示 附上activity部分代码,求老师帮忙检查下 private GridView gridView; private ListView listView; private List<Map<String,Object>> list=new ArrayList<>(); private String[] from={"img","text"}; private int[] to={R.id.grid_img,R.id.grid_txt}; private List<JsonB> jsonlist=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initView(); } private void initData() { String[] texts={"飞机","车票","汽车","蛋糕","美食","手表","电脑","手机"}; int[] imgs={R.mipmap.fly1, R.mipmap.car, R.mipmap.autombile1, R.mipmap.cake, R.mipmap.food, R.mipmap.watch, R.mipmap.cp, R.mipmap.phone}; for (int i=0;i<8;i++){ Map<String,Object> map=new HashMap<>(); map.put("img",imgs[i]); map.put("text",texts[i]); list.add(map); } //解析Json获取数据源 parseByJSONObject(); } private void initView() { gridView=(GridView)this.findViewById(R.id.gridView); gridView.setAdapter(new SimpleAdapter(MainActivity.this,list,R.layout.grid_item,from,to)); listView=(ListView)this.findViewById(R.id.listView); MyAdapter adapter=new MyAdapter(MainActivity.this,jsonlist); listView.setAdapter(adapter); }
    2020-03-12 17:35:17
  • 好帮手慕雪 回复 提问者 亚璃子 #2
    jsonlist各对象的属性值呢?你在MyAdapter adapter=new MyAdapter(MainActivity.this,jsonlist);的前一行,遍历一下jsonlist,并且把各对象的属性值输出 一下。
    2020-03-12 17:54:56
  • 提问者 亚璃子 回复 好帮手慕雪 #3
    遍历不了。。。试了while和for循环,循环好像不执行,Log没有输出信息,在循环内部打了断点就好像没打一样
    2020-03-12 18:48:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

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

在线咨询

领取优惠

免费试听

领取大纲

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