android使用map集合将数据库里的数据显示在ListView上

基本效果图:
在这里插入图片描述
首先要有两个xml文件(一个xml是用来显示数据库中的数据,另一个xml是用来定义listview中item的布局),一个activity:
直接上代码:
activity_main.xml:

<ListView
    android1:id="@+id/slv1"
    android1:layout_width="match_parent"
    android1:layout_height="360dp"
    android1:layout_below="@+id/searchView1"
    android1:layout_centerHorizontal="true"
    android1:layout_marginTop="38dp" >
</ListView>

<SearchView
    android1:id="@+id/searchView1"
    android1:layout_width="270sp"
    android1:layout_height="40sp"
    android:queryHint="请输入学生姓名"
    android:iconifiedByDefault="false"
    android1:layout_alignParentTop="true"
    android1:layout_centerHorizontal="true"
    android1:layout_marginTop="24dp"
    android1:background="@drawable/kuang" >
</SearchView>

<TextView
    android1:id="@+id/textView1"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignLeft="@+id/slv1"
    android1:layout_below="@+id/searchView1"
    android1:layout_marginLeft="17dp"
    android1:layout_marginTop="15dp"
    android1:text="总人数:" />

<TextView
    android1:id="@+id/stv1"
    android1:layout_width="wrap_content"
    android1:layout_height="wrap_content"
    android1:layout_alignBaseline="@+id/textView1"
    android1:layout_alignBottom="@+id/textView1"
    android1:layout_toRightOf="@+id/textView1"
    android1:text="TextView" />

listview.xml:

<TextView
    android:id="@+id/itv2"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/itv1"
    android:layout_alignBottom="@+id/itv1"
    android:layout_toRightOf="@+id/textView3"
    android:text="TextView" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_alignLeft="@+id/textView3"
    android:text="绩点:"
    android:textSize="15sp" />

<TextView
    android:id="@+id/itv4"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView4"
    android:layout_alignBottom="@+id/textView4"
    android:layout_toRightOf="@+id/textView4"
    android:text="textview" />

<TextView
    android:id="@+id/itv3"
    android:layout_width="60dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_toLeftOf="@+id/textView3"
    android:text="TextView" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="10dp"
    android:text="学号:"
    android:textSize="15sp" />

<TextView
    android:id="@+id/itv1"
    android:layout_width="60dp"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/textView1"
    android:text="TextView" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="姓名:"
    android:textSize="15sp" />

MainActivity.java(主要代码):

    lv=(ListView) findViewById(R.id.slv1);
	tv=(TextView) findViewById(R.id.stv1);
   db	connection=new db();
   SQLiteDatabase db1;
   db1=connection.getConnection();
   Cursor rs=db1.rawQuery("select * from grade order by grade desc", null);
	List<Map<String,String>>  datas= new ArrayList<Map<String,String>>();
	int i=0;
	//下面是关键代码
	while(rs.moveToNext()){
		Map<String,String> data=new HashMap<String,String>();
		data.put("id1", rs.getString(rs.getColumnIndex("id")));
		data.put("name1",rs.getString(rs.getColumnIndex("name")));
		data.put("subject1",rs.getString(rs.getColumnIndex("subject")));
		data.put("grade1", rs.getString(rs.getColumnIndex("grade")));
		datas.add(data);
		i++;
	}
	String s=""+i;//总人数
	tv.setText(s);
	 a=new SimpleAdapter(this,
			datas, R.layout.info, 
			new String[]{"name1","id1","subject1","grade1"}, 
			new int[]{R.id.itv1,R.id.itv3,R.id.itv2,R.id.itv4});
	lv.setAdapter(a);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值