ListView 实现后台数据在手机上的列表显示。
我们先看一下效果图吧。因为我没有加任何的样式,所以看起来回比较丑一点,大家就将就一下,看功能吧!
效果图:
这是运行成功的显示结果。下面我们来看代码实现。
1.首先是创建项目这个我就不多说了。
2.在layout 文件夹中创建xml文件,这里为list.xml,代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listview" />
</LinearLayout>
这个页面是用来显示数据的可以看到页面中只有一个ListView控件。3.创建用来绑定数据的xml文件 ,这里items.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"
android:orientation="horizontal" >
<TextView
android:id="@+id/listName"
android:layout_width="100dp"
android:layout_height="30dp"
android:gravity="center_vertical" />
<TextView
android:id="@+id/listContent"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:layout_below="@id/listName"
android:gravity="center_vertical" />
</RelativeLayout>
4.我这里直接写好一个实体类以及一个静态方法来模拟后台获取的数据,其实就是一个for循环:
实体类:
public class Content {
private int id;
private String name;
private String content;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
模拟后台的数据,返回List集合在Activity类中使用。
package com.example.db;
import java.util.ArrayList;
import java.util.List;
import com.example.Entity.Content;
public class ContentDb {
/**
* 测试ListView使用
* 模拟数据库读取List集合数据
* @return List数据
*/
public static List<Content> getListContent(){
List<Content> list=new ArrayList<Content>();
for(int i=1;i<20;i++){
Content c=new Content();
c.setId(i);
c.setName("张三"+i);
c.setContent("列表内容列表内容"+i);
list.add(c);
}
return list;
}
@SuppressLint("NewApi")
public class MainActivity extends Activity {
private ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载页面.xml
setContentView(R.layout.list);
ActionBar actionBar=getActionBar();
actionBar.setTitle("公文列表");
listview=(ListView) this.findViewById(R.id.listview);
show();
}
private void show(){
List<Content> list=ContentDb.getListContent();
List<HashMap<String ,Object>> data=new ArrayList<HashMap<String ,Object>>();
for(Content content:list){
HashMap<String, Object> item=new HashMap<String, Object>();
item.put("name", content.getName());
item.put("content", content.getContent());
data.add(item);
}
//适配器
SimpleAdapter adapter=new SimpleAdapter(this, data, R.layout.items, new String[]{"name","content"},new int[]{R.id.listName,R.id.listContent});
listview.setAdapter(adapter);
}
}
6.完了。
运行即可。