android listview单击事件
2012-03-13 23:02
330 查看
今天我们来学习下listview 单击事件,这在开发中是经常用的组件之一。
1.新建一个项目,名为ListViewDemo。
2.布置布局文件main.xml
<?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">
<TextView
android:id="@+id/info"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="25px"
android:gravity="center_horizontal"/>
<ListView
android:id="@+id/datalist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
data_list.xml文件
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<ImageView
android:id="@+id/icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/file_icon"/>
<TextView
android:id="@+id/_id"
android:textSize="15px"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/name"
android:textSize="15px"
android:gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
3.下面是核心代码
package org.listview.cn; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.lxh.demo.R; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class MyListViewDemo extends Activity { private String data[][] = { { "001", "C++" }, { "002", "java" }, { "003", "SQL" }, { "004", "LINUX" }, { "005", "汇编原理" }, { "006", "计算机网络原理" }, { "007", "计算机组成原理m" }, { "008", "数据结构" }, { "009", "操作系统" }, { "010", "电子技术" } }; // 准备出若干个信息而这些信息以后将通过程序加入到内嵌的线性布局文件之中 private ListView datalist = null; // 定义ListView组件 private List<Map<String, String>> list = new ArrayList<Map<String, String>>(); // 定义显示的内容包装 private SimpleAdapter simpleAdapter = null; // 进行数据的转换操作 private TextView info = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.datalist = (ListView) super.findViewById(R.id.datalist); // 取得组件 this.info = (TextView) super.findViewById(R.id.info); // 取得组件 for (int x = 0; x < this.data.length; x++) { Map<String, String> map = new HashMap<String, String>(); // 定义Map集合,保存每一行数据 map.put("_id", this.data[x][0]); // 与data_list.xml中的TextView组加匹配 map.put("name", this.data[x][1]); // 与data_list.xml中的TextView组加匹配 this.list.add(map); // 保存了所有的数据行 } this.simpleAdapter = new SimpleAdapter(this, this.list, R.layout.data_list, new String[] { "_id", "name" } // Map中的key的名称 , new int[] { R.id._id, R.id.name }); // 是data_list.xml中定义的组件的资源ID this.datalist.setAdapter(this.simpleAdapter); this.datalist.setOnItemClickListener(new OnItemClickListenerImpl()); // 单击选项 } private class OnItemClickListenerImpl implements OnItemClickListener { @SuppressWarnings("unchecked") @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Map<String, String> map = (Map<String, String>) MyListViewDemo.this.simpleAdapter .getItem(position); String _id = map.get("_id"); String name = map.get("name"); MyListViewDemo.this.info.setText("选中的数据项ID是:" + _id + ",名称是:" + name); } } }
4.运行项目。
5
5.ok,搞定,另外附上项目源码,供大家学习交流。======》http://download.csdn.net/detail/gsg8709/4138390
相关文章推荐
- Android4.0.4编程日记(3)--ListView单击获取事件
- .Net程序员玩转Android开发---(13)ListView单击事件
- android ListView控件操作绑定数据、单击事件
- .Net程序员玩转Android开发--ListView单击事件
- android listview单击事件
- android listView 控件单击事件
- android listview长按,单击各种事件捕捉
- 关于Android中ExpandableListView子项是Button控件而单击事件没有响应的问题
- android listview第一个子项内部控件的单击事件阻塞。。
- Android自定义ListView单击事件失效的解决方法
- Android开发中自定义ListView中存在ImageButton不响应ListItemClick单击事件详细d飞解决办法
- Android ListView从SQLLite中读取数据并显示,响应单击事件
- .Net程序员玩转Android开发---(13)ListView单击事件
- android listView里的imageView无法响应单击事件的解决
- android 点击button 弹出一个listview并且响应单击事件
- Android如何让ListView的子组件按钮响应单击事件并修改该项子控件内容
- 在listview选项卡上有个图片,让他响应单击拨打电话事件,并且不让他和listview的点击事件冲突
- Android学习---ListView的点击事件,simpleAdapter和arrayadapter的原理和使用 - Hi_Amos
- Android按钮单击事件的四种常用写法总结
- Android 代码模拟ListView item的点击事件的两种方式