1. 程式人生 > >2.常用控制元件:ListView

2.常用控制元件:ListView

常用控制元件:ListView

核心程式碼:

檢視:

二維

	<ListView android:id="@id/android:list" android:layout_width="fill_parent"
	android:layout_height="wrap_content" android:drawSelectorOnTop="false"
	android:scrollbars="vertical" />
一維
	<TextView android:id="@+id/user_name" android:layout_width="180dip"
		android:layout_height="30dip" android:textSize="10pt"
		android:singleLine="true" />
	<TextView android:id="@+id/user_ip" android:layout_width="fill_parent"
		android:layout_height="fill_parent" android:gravity="right"
		android:textSize="10pt" />


資料:

1.

		ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
		SimpleAdapter listAdapter = new SimpleAdapter(this, list,
				R.layout.user, new String[] { "user_name", "user_ip" },
				new int[] { R.id.user_name,R.id.user_ip});
		setListAdapter(listAdapter);
2.
	//當點選相應的條目時,呼叫此函式
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		super.onListItemClick(l, v, position, id);
		System.out.println("id----------------" + id);
		System.out.println("position----------" + position);
	}


控制元件圖例:


具體應用:

XML檔案:

1.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">

	<ListView android:id="@id/android:list" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:drawSelectorOnTop="false"
		android:scrollbars="vertical" />

</LinearLayout>

2,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="fill_parent"
	android:orientation="horizontal" android:paddingLeft="10dip"
	android:paddingRight="10dip" android:paddingTop="1dip"
	android:paddingBottom="1dip">
	<TextView android:id="@+id/user_name" android:layout_width="180dip"
		android:layout_height="30dip" android:textSize="10pt"
		android:singleLine="true" />
	<TextView android:id="@+id/user_ip" android:layout_width="fill_parent"
		android:layout_height="fill_parent" android:gravity="right"
		android:textSize="10pt" />
</LinearLayout>


Activity.java檔案:

package mars.listview;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class Activity01 extends ListActivity {
    /** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> map1 = new HashMap<String, String>();
		HashMap<String, String> map2 = new HashMap<String, String>();
		HashMap<String, String> map3 = new HashMap<String, String>();
		map1.put("user_name", "zhangsan");
		map1.put("user_ip", "192.168.0.1");
		map2.put("user_name", "zhangsan");
		map2.put("user_ip", "192.168.0.2");
		map3.put("user_name", "wangwu");
		map3.put("user_ip", "192.168.0.3");
		list.add(map1);
		list.add(map2);
		list.add(map3);
		SimpleAdapter listAdapter = new SimpleAdapter(this, list,
				R.layout.user, new String[] { "user_name", "user_ip" },
				new int[] { R.id.user_name,R.id.user_ip});
		setListAdapter(listAdapter);
	}

	@Override
	//當點選相應的條目時,呼叫此函式
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		super.onListItemClick(l, v, position, id);
		System.out.println("id----------------" + id);
		System.out.println("position----------" + position);
	}

}


專案檔案地址: