安卓-无敌解决ListView添加标题头无法正常显示的问题(歪门邪道)
时间:2022-07-22
本文章向大家介绍安卓-无敌解决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();
这种办法应该不是最好的解决办法,如果哪位大神看到了此篇文章,如果您有更好的解决办法,请给小弟留言。
- 物联网设备已沦陷,咖啡机也不能例外
- 我的WCF之旅(13):创建基于MSMQ的Responsive Service
- 开发自己的Data Access Application Block[上篇]
- 18.9/18.10 LVS NAT模式搭建
- 谈谈WCF中的Data Contract (1):Data Contract Overview
- Linux基础(day66)
- 字符串的驻留(String Interning)
- 19.5 忘记Admin密码如何做
- 19.3/19.4/19.6 安装zabbix
- 欲火焚身,心静则凉--只靠冲动是不能长久地
- 深入理解C#3.x的新特性(4):Automatically Implemented Property
- 增加网卡注意点
- 深入理解C# 3.x的新特性(1): Anonymous Type
- Linux基础(day65)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- (译)SDL编程入门(5)Surface 优化和软拉伸
- (译)SDL编程入门(4)按键操作
- webpack实战——生产环境配置【中】
- MongoDB权威指南学习笔记(1)--基础知识与对文档的增删改查
- 利用 Shell 脚本实现邮件监控 Linux 系统的内存
- MongoDB权威指南学习笔记(4)--应用管理和服务器管理
- MongoDB权威指南学习笔记(3)--复制和分片
- 工作10年后,再看String s = new String("xyz") 创建了几个对象?
- MongoDB权威指南学习笔记(2)--设计应用
- 高性能MySQL学习笔记
- 【Netty之旅四】你一定看得懂的Netty客户端启动源码分析!
- dubbo(二)动态编译compiler
- HttpClient工具类
- java面试知识要点汇总(线程和锁)
- 「二八法则」的数据可视化:用帕累托图进行数据分析