专栏首页猿计划安卓-无敌解决ListView添加标题头无法正常显示的问题(歪门邪道)

安卓-无敌解决ListView添加标题头无法正常显示的问题(歪门邪道)

原因:

在做安卓实验时,用到了ListView来做表格显示数据。由于表头是使用xml布局文件动态实现的。造成了添加好组件后,无法正常显示的情况。浪费了我2小时的时间,终于利用歪门邪道解决了。

重点

首先要知道的是使用listView.addHeaderView(view)添加表头时,如果listView中没有数据的话,是不能显示数据的。

  View view  = LayoutInflater.from(this).inflate(R.layout.user_listview_item_header,null);
        listView.addHeaderView(view);

咋整呢

终于

被逼的不行了,就试着继续往下做。我先利用for循环,随便生成了几条数据,发现可以正常显示了,哈哈哈哈。

 List<User> userInfo = new ArrayList<>();
        System.out.println("查出来了:"+userInfo.size());
        for(int i =0;i<10;i++){
            User s = new User();
            s.setId(i);
            s.setUsername("user"+i);
            userInfo.add(s);
        }

        //获取到集合数据
        List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
        for (int i = 0;i<userInfo.size();i++){
            HashMap<String, Object> item = new HashMap<String, Object>();
            User user = userInfo.get(i);
            item.put("item_id", user.getId());
            item.put("item_username", user.getUsername());
            item.put("item_age", user.getAge());
            item.put("item_hight", user.getHeight());
            data.add(item);
        }

        //创建SimpleAdapter适配器将数据绑定到item显示控件上
        SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, data, R.layout.user_listview_item,
                new String[]{"item_id", "item_username", "item_age","item_hight"}, new int[]{R.id.item_id, R.id.item_username, R.id.item_age,R.id.item_hight});
        //实现列表的显示
        listView.setAdapter(adapter);

机动部

激动不

激动不

激动不

激动不

那就封装一下呗,试试

 //开局查询所有的
    public void selectAll(){
        onSelectClick(new View(this));
    }

初始化完表头,然后执行这个方法

  View view  = LayoutInflater.from(this).inflate(R.layout.user_listview_item_header,null);
        listView.addHeaderView(view);
        selectAll();

这种办法应该不是最好的解决办法,如果哪位大神看到了此篇文章,如果您有更好的解决办法,请给小弟留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 历经14天自定义3个注解解决项目的3个Swagger难题

    点开此文章的小伙伴们请注意了,本片文章针对的是对Swagger有一定基础的小伙伴;

    TrueDei
  • 我通过三个故事终于学明白了三种工厂模式

    接下来创建一个工厂类,功能是提供给用户的出行的方式,用户只需要告诉工厂类他需要什么方式就好了。

    TrueDei
  • 剑指Office-二进制中1的个数

    TrueDei
  • Android中string-array用法

    String[] pros=this.getResources().getStringArray(R.array.province_item);

    wust小吴
  • Android项目实战(八):列表右侧边栏拼音展示效果

    听着music睡
  • 详解基于内容的推荐算法

    本文介绍的将会是推荐系统最古老的算法:基于内容的推荐算法(Content-Based Recommendations CB)。

    机器学习算法工程师
  • Memcached内存管理源码分析

    memcached内存管理的模型与作业本“画格子给我们往格子里面写字”的逻辑很像,一个个作业本就是我们的内存空间,而我们往里写的字就是我们要存下来的数据,所以分...

    JavaEdge
  • Mono for Android 下的 ListActivity

    介绍 Mono for Android 平台下 ListActivity 的使用, 以及如何进行自定义 ListActivity 的 Adapter。

    beginor
  • [探索]在开发中尽量提高代码的复用性

    相信很多人和我一样,在开发项目的时候,因为项目赶,或者一时没想到等原因。频繁使用 ctrl+c 和 ctrl+v ,导致代码很多都是重复的。这几天,也看了自己以...

    守候i
  • 滑动头部固定,要不也了解下?

    最近公司事情比较少,正好早上有人问我那个滑动粘着头部不动的怎么实现,我想了半天,前几天刚刚写过,那就记录一下咯。于是,女朋友送了我一张图

    IMWeb前端团队

扫码关注云+社区

领取腾讯云代金券