ListView 實現後臺數據在手機上的列表顯示。
我們先看一下效果圖吧。因爲我沒有加任何的樣式,所以看起來回比較醜一點,大家就將就一下,看功能吧!
效果圖:
<?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控件。<?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>
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.完了。