ListView显示Sqlite的数据美化版与性能优化
在上一篇文章中,我们已经实现在listview显示数据库内容的。但是我们listview中,排版不是很好看,所以这篇文章呢,我们来对listveiw进行美化。哈哈,说白了,就是对listview添加一个布局文件,然后把布局文件转化为view对象显示出来。
这里代码我们不贴全部,就贴上新增加的布局文件和有做修改的方法。
先看图片吧。
然后看listview的布局文件,其实从这个例子,大家可以知道,listview的项目可以显示很复杂的东西,只要是view对象都是可以显示的额,只要你的布局文件写好了。都可以。
list_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" > <TextView
android:textSize="20sp"
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="名字" /> <LinearLayout
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" > <TextView
android:id="@+id/age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="年龄" /> <TextView
android:id="@+id/phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机" />
</LinearLayout> </RelativeLayout>
MainActivity.java 这里只贴出修改的地方,其实也就是修改了 getView的几条语句而已。这里写出 getView方法的内容
public View getView(int position, View convertView, ViewGroup parent) {
Girl girl = girList.get(position);
/* TextView tv = new TextView(MainActivity.this);
tv.setTextSize(18);
//获取集合中的元素
tv.setText(girl.toString());*/
View v ;
/*
* 做判断是为了listview的性能优化,converView表示一个缓冲区域。
* 在看过的条目,离开屏幕后,其实会被缓冲起来,所以我们没必要
* 每一次都去 填充,可以先判断是否有缓冲
*
* */
if(convertView ==null){
//把ListView的布局文件填充为View对象
v = View.inflate(MainActivity.this, R.layout.list_layout, null);
}else{
v = convertView ;
}
/*v.findViewById(R.id.name);前面加v是因为找的布局文件元素是listView对象的
* 而v加载的布局文件就是listview的布局文件
*/
TextView name = (TextView)v.findViewById(R.id.name);
name.setText(girl.getName());
TextView age = (TextView) v.findViewById(R.id.age);
age.setText(girl.getAge()+"");
TextView phone = (TextView)v.findViewById(R.id.phone);
phone.setText(girl.getPhone());
return v;
}
ListView显示Sqlite的数据美化版与性能优化的更多相关文章
- ListView显示Sqlite的数据
在安卓中,ListView和Sqlite都是十分常用的.这次我们来结合这个两个知识点写一个Demo. 功能:吧SQLite中的数据用ListView显示出来. 先看截图吧 首先是数据库 然后是运行截图 ...
- [转帖]etcd 在超大规模数据场景下的性能优化
etcd 在超大规模数据场景下的性能优化 阿里系统软件技术 2019-05-27 09:13:17 本文共5419个字,预计阅读需要14分钟. http://www.itpub.net/2019/ ...
- HLJU 1046: 钓鱼(数据增强版) (贪心+优化)
1046: 钓鱼(数据增强版) Time Limit: 1 Sec Memory Limit: 128 MB Submit: 11 Solved: 3 [id=1046">Subm ...
- TI C6000 数据存储处理与性能优化
存储器之于CPU好比仓库之于车间.车间加工过程中的原材料.半成品.成品等均需入出仓库,生产效率再快,如果仓库周转不善,也必然造成生产阻塞.如同仓库需要合理地规划管理一般,数据存储也需要恰当的处理技巧来 ...
- 如何用listview显示服务端数据
https://www.cnblogs.com/caobotao/p/5061627.html
- Angular 1 深度解析:脏数据检查与 angular 性能优化
TL;DR 脏检查是一种模型到视图的数据映射机制,由 $apply 或 $digest 触发. 脏检查的范围是整个页面,不受区域或组件划分影响 使用尽量简单的绑定表达式提升脏检查执行速度 尽量减少页面 ...
- kettle大数据量读写mysql性能优化
修改kettleDB连接设置 1. 增加批量写的速度:useServerPrepStmts=false rewriteBatchedStatements=true useCompressio ...
- etcd 在超大规模数据场景下的性能优化
作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列为沙箱孵化项目.etcd的应用场景很广,很多地方都用到了它,例如kuber ...
- Android整理:SQlite数据库的使用以及通过listView显示数据
前言:上个月与同学一起做了一个简单的Android应用,这段时间正好没有很多事情所以趁热整理一下学习到的知识,刚开始学习Android还有很多不懂的地方,继续努力吧! 作业中需要用到数据库,当然首选A ...
随机推荐
- review39
不可以在非同步方法中使用wait().notify()和notifyAll().
- 关于使用java开发Mis系统的相关内容。
怎样使用java编程语言开发一个小型的信息管理系统,首先我们要知道用什么样的方法来开发这一系统. 1.java简单基础知识: (1)Java的三种技术架构: 1)JAVAEE:Java Platfor ...
- Nat123域名设置使用
可以设自己的域名映射到内网ip: http://www.nat123.com/Pages_18_294.jsp 暂时还没学习使用,先保存一下
- 分布式_理论_02_Base 理论
一.前言 五.参考资料 1.分布式理论(二)——Base 理论 2.分布式理论(二) - BASE理论
- 剑指offer--6.数值的整数次方
时间限制:1秒 空间限制:32768K 热度指数:362909 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. class S ...
- 关于nginx做代理,uwsgi gunicorn等服务器做后端时
(1) 响应数据过大 被截断的问题 通常看buffers参数的设置(缓冲从后端服务器的应答) uwsgi的参数是 uwsgi_buffers 4 128k gunicorn 设置代理参数 proxy_ ...
- CF Round 542 Div1.
B. Wrong Answer 构造一个长度为 2000 的数组,满足最大“子段和 $\times$ 子段长度”比最大子段和刚好大 k sol: 一个比较好的构造方法: 令数组总和为 $S$,然后构造 ...
- UVA - 10934 Dropping water balloons (dp,逆向思维)
题目链接 题目大意:给你n个规格一样的气球和一栋大楼的高度,求最少试验几次能测出气球最高在哪一层掉下来不破. 如果这道题想用(dp[i][j]=用i个气球测出j高度的楼需要几次)来作为状态的话,那你就 ...
- NetCore博客
NetCore外国一些高质量博客 https://www.cnblogs.com/fancunwei/p/9605627.html 前言 我之前看.netcore一些问题时候,用bing搜索工具搜到了 ...
- 基于Python语言使用RabbitMQ消息队列(四)
路由 在上一节我们构建了一个简单的日志系统.我们能够广播消息给很多接收者. 在本节我们将给它添加一些特性——我们让它只订阅所有消息的子集.例如,我们只把严重错误(critical error)导入到日 ...