ListView 實現數據列表


    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;
	}


5.在MainActivity類中的代碼:

@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.完了。
運行即可。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章