博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android ListViewview入门
阅读量:5278 次
发布时间:2019-06-14

本文共 3780 字,大约阅读时间需要 12 分钟。

接着上文《》,往person数据表中插入50条数据

public void testAdd() throws Exception {        PersonDao dao = new PersonDao(getContext());        // .add("wangwu", "123", 50000);        // dao.add("zhangsan", "234", 17000);        int number = 857600001;        Random random = new Random();        for (int i = 0; i < 50; i++) {            dao.add("wuyudong" + i, Long.toString(number + i),                    random.nextInt(5000));        }    }

常规方法显示数据

首先不使用ListViewview,而是直接使用程序来呈现数据表中的数据,代码如下:

package com.wuyudong.db;import java.util.List;import com.wuyudong.db.dao.PersonDao;import com.wuyudong.db.domain.Person;import android.os.Bundle;import android.text.style.LeadingMarginSpan;import android.widget.LinearLayout;import android.widget.TextView;import android.app.Activity;import android.graphics.Color;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        LinearLayout ll_root = (LinearLayout)findViewById(R.id.ll_root);        PersonDao dao = new PersonDao(this);        List
persons = dao.findAll(); for (Person person : persons) { String info = person.toString(); TextView tv = new TextView(this); tv.setTextSize(20); tv.setTextColor(Color.BLACK); tv.setText(info); ll_root.addView(tv); } }}

activity_main.xml中的代码如下:

运行结果如下图:

使用ListView显示数据

数据显示(listview)

需求: 把数据库的内容全部显示在界面上

符合MVC模型

m: model 数据模型 -- Person 

v: view 视图 -- ListView

c: controller 控制器 --Adapter 数据适配器


下面使用ListViewview来实现这个功能

修改activity_main.xml中的代码如下

界面如下:

代码如下:

package com.wuyudong.db;import java.util.List;import com.wuyudong.db.dao.PersonDao;import com.wuyudong.db.domain.Person;import android.os.Bundle;import android.text.style.LeadingMarginSpan;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import android.app.Activity;import android.graphics.Color;public class MainActivity extends Activity {    private ListView lv;    private List
persons; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); PersonDao dao = new PersonDao(this); persons = dao.findAll(); lv = (ListView) findViewById(R.id.lv); lv.setAdapter(new MyAdapter()); } // 默认实现类形如: simplexxx, basexxx, defaultxxx private class MyAdapter extends BaseAdapter { private static final String TAG = "MyAdapter"; /** * 控制ListView里面总共有多少条目 */ @Override public int getCount() { return persons.size(); // 条目个数==集合的size } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { Log.i(TAG, "返回view对象,位置: " + position); TextView tv = new TextView(getApplicationContext()); tv.setTextSize(20); tv.setTextColor(Color.BLACK); // 得到某个位置对应的person对象 Person person = persons.get(position); tv.setText(person.toString()); return tv; } }}

运行结果如下:

使用logcat过滤器查看:

只显示5个位置,说明手机屏幕只能显示这么多,如果滑动手机屏幕的话,位置数量会越来越多

转载于:https://www.cnblogs.com/wuyudong/p/5579216.html

你可能感兴趣的文章
2017 ACM/ICPC Asia Regional Qingdao Online - 1008 Chinese Zodiac
查看>>
P4099 [HEOI2013]SAO
查看>>
P4294 [WC2008]游览计划
查看>>
数值分析方法库
查看>>
交换两个变量值的方法汇总
查看>>
使用lua扩展应用程序
查看>>
maven新建项目报错
查看>>
Hbase记录-HBase增删改查
查看>>
JAVA-常用集合类型转换例子(基础必备)
查看>>
hello word ,好吧协会最菜真的是从头开始在复习,不过我打算稍微过一遍基本知识之后好好捡起来数据结构...
查看>>
tcp服务器
查看>>
java bigdecimal
查看>>
ListCtrl添加右键菜单(在对话框类中)
查看>>
For-Each循环
查看>>
斜率优化dp*
查看>>
SQL通用分页存储过程
查看>>
ApacheCN 活动汇总 2019.2
查看>>
HOJ 1447 Compromise (DP)
查看>>
iOS8新特性之交互式通知
查看>>
Android 位置服务
查看>>