当前位置: 代码迷 >> Android >> Android UI ListView(二)
  详细解决方案

Android UI ListView(二)

热度:59   发布时间:2016-04-28 03:48:04.0
Android UI ListView(2)

一个人物对象 List的实现

?



?

?

?

实现步骤:

1.在xml布局文件中添加ListView控件节点并且设置好相关属性

2.在activity里findViewById 找到ListView控件对象

3.创建ListView的适配器adapter (这里采用ArrayAdapter<Person> adapter)

4.给ListView绑定adapter

5.通过adapter往ListView里添加item

6.给ListView注册itemClickListener

7.实现itemClickListener方法,通过getItem(positon)来获取item所对应的对象

8.解析对象属性,Toast打印!

<?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:id="@+id/lv_person"         android:layout_width="fill_parent"        android:layout_height="fill_parent">    </ListView></LinearLayout>
package cn.jinyejun.ui_listview;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import cn.jinyejun.information.Person;public class PersonListView extends Activity implements OnItemClickListener {	private ListView lv;					//ListView组件	private ArrayAdapter<Person> adapter;	//ListView组件的适配器	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_personlist);				//创建ListView的适配器adapter用来适配ListView里的布局风格和布局内容		adapter = new ArrayAdapter<Person>(this,				android.R.layout.simple_list_item_1);				//通过id索引到ListView的组件		lv = (ListView) findViewById(R.id.lv_person);				//给ListView添加适配器		lv.setAdapter(adapter);				//通过adapter往ListView里面添加内容		adapter.add(new Person(0001, "小明", "男", 18));		adapter.add(new Person(0002, "小莉", "女", 19));		adapter.add(new Person(0003, "小强", "男", 18));		adapter.add(new Person(0004, "小楠", "女", 20));		//给ListView添加item点击事件		lv.setOnItemClickListener(this);	}	/**	 * ListView 的item 点击时候触发的事件	 */	@Override	public void onItemClick(AdapterView<?> parent, View view, int position,			long id) {		//获取被点击item所包含的对象		Person data = adapter.getItem(position);		//Toast打印信息		String info = String.format("id:%d,name:%s,sex:%s,age:%d",				data.getId(), data.getName(), data.getSex(), data.getAge());		Toast.makeText(PersonListView.this, info, Toast.LENGTH_SHORT).show();	}}

?

  相关解决方案