一个人物对象 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(); }}
?