基本效果图:
首先要有两个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);