在上一篇文章中,我们已经实现在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的数据美化版与性能优化的更多相关文章

  1. ListView显示Sqlite的数据

    在安卓中,ListView和Sqlite都是十分常用的.这次我们来结合这个两个知识点写一个Demo. 功能:吧SQLite中的数据用ListView显示出来. 先看截图吧 首先是数据库 然后是运行截图 ...

  2. [转帖]etcd 在超大规模数据场景下的性能优化

    etcd 在超大规模数据场景下的性能优化   阿里系统软件技术 2019-05-27 09:13:17 本文共5419个字,预计阅读需要14分钟. http://www.itpub.net/2019/ ...

  3. HLJU 1046: 钓鱼(数据增强版) (贪心+优化)

    1046: 钓鱼(数据增强版) Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 11  Solved: 3 [id=1046">Subm ...

  4. TI C6000 数据存储处理与性能优化

    存储器之于CPU好比仓库之于车间.车间加工过程中的原材料.半成品.成品等均需入出仓库,生产效率再快,如果仓库周转不善,也必然造成生产阻塞.如同仓库需要合理地规划管理一般,数据存储也需要恰当的处理技巧来 ...

  5. 如何用listview显示服务端数据

    https://www.cnblogs.com/caobotao/p/5061627.html

  6. Angular 1 深度解析:脏数据检查与 angular 性能优化

    TL;DR 脏检查是一种模型到视图的数据映射机制,由 $apply 或 $digest 触发. 脏检查的范围是整个页面,不受区域或组件划分影响 使用尽量简单的绑定表达式提升脏检查执行速度 尽量减少页面 ...

  7. kettle大数据量读写mysql性能优化

       修改kettleDB连接设置 1. 增加批量写的速度:useServerPrepStmts=false  rewriteBatchedStatements=true  useCompressio ...

  8. etcd 在超大规模数据场景下的性能优化

    作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列为沙箱孵化项目.etcd的应用场景很广,很多地方都用到了它,例如kuber ...

  9. Android整理:SQlite数据库的使用以及通过listView显示数据

    前言:上个月与同学一起做了一个简单的Android应用,这段时间正好没有很多事情所以趁热整理一下学习到的知识,刚开始学习Android还有很多不懂的地方,继续努力吧! 作业中需要用到数据库,当然首选A ...

随机推荐

  1. review39

    不可以在非同步方法中使用wait().notify()和notifyAll().

  2. 关于使用java开发Mis系统的相关内容。

    怎样使用java编程语言开发一个小型的信息管理系统,首先我们要知道用什么样的方法来开发这一系统. 1.java简单基础知识: (1)Java的三种技术架构: 1)JAVAEE:Java Platfor ...

  3. Nat123域名设置使用

    可以设自己的域名映射到内网ip:  http://www.nat123.com/Pages_18_294.jsp 暂时还没学习使用,先保存一下

  4. 分布式_理论_02_Base 理论

    一.前言 五.参考资料 1.分布式理论(二)——Base 理论 2.分布式理论(二) - BASE理论

  5. 剑指offer--6.数值的整数次方

    时间限制:1秒 空间限制:32768K 热度指数:362909 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. class S ...

  6. 关于nginx做代理,uwsgi gunicorn等服务器做后端时

    (1) 响应数据过大 被截断的问题 通常看buffers参数的设置(缓冲从后端服务器的应答) uwsgi的参数是 uwsgi_buffers 4 128k gunicorn 设置代理参数 proxy_ ...

  7. CF Round 542 Div1.

    B. Wrong Answer 构造一个长度为 2000 的数组,满足最大“子段和 $\times$ 子段长度”比最大子段和刚好大 k sol: 一个比较好的构造方法: 令数组总和为 $S$,然后构造 ...

  8. UVA - 10934 Dropping water balloons (dp,逆向思维)

    题目链接 题目大意:给你n个规格一样的气球和一栋大楼的高度,求最少试验几次能测出气球最高在哪一层掉下来不破. 如果这道题想用(dp[i][j]=用i个气球测出j高度的楼需要几次)来作为状态的话,那你就 ...

  9. NetCore博客

    NetCore外国一些高质量博客 https://www.cnblogs.com/fancunwei/p/9605627.html 前言 我之前看.netcore一些问题时候,用bing搜索工具搜到了 ...

  10. 基于Python语言使用RabbitMQ消息队列(四)

    路由 在上一节我们构建了一个简单的日志系统.我们能够广播消息给很多接收者. 在本节我们将给它添加一些特性——我们让它只订阅所有消息的子集.例如,我们只把严重错误(critical error)导入到日 ...