Chinaunix首页 | 论坛 | 博客
  • 博客访问: 294299
  • 博文数量: 30
  • 博客积分: 732
  • 博客等级: 军士长
  • 技术积分: 439
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-10 00:13
文章分类

全部博文(30)

文章存档

2015年(1)

2013年(5)

2012年(24)

我的朋友

分类: Android平台

2013-05-03 15:03:57

android ListView添加事件并获取选中项的值,ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件



main.xml代码如下:



list_item.xml代码如下:




activity MyListView.java代码如下:

    1. package listview.pack;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5. import android.app.Activity;
    6. import android.os.Bundle;
    7. import android.view.View;
    8. import android.widget.AdapterView;
    9. import android.widget.AdapterView.OnItemClickListener;
    10. import android.widget.ListView;
    11. import android.widget.SimpleAdapter;
    12. import android.widget.Toast;
    13.  
    14. public class MyListView extends Activity {
    15.     /** Called when the activity is first created. */
    16.     //声明ListView对象
    17.     ListView myListView;
    18.     @Override
    19.     public void onCreate(Bundle savedInstanceState) {
    20.         super.onCreate(savedInstanceState);
    21.         setContentView(R.layout.main);
    22.         //生成ListView对象
    23.         myListView=(ListView)findViewById(R.id.myListView);
    24.         //创建ArrayList对象 并添加数据
    25.         ArrayList<HashMap<String,String>> myArrayList=new ArrayList<HashMap<String,String>>();
    26.         for(int i=0;i<10;i++){
    27.             HashMap<String, String> map = new HashMap<String, String>();
    28.             map.put("itemTitle", "This Is Title "+i);
    29.             map.put("itemContent", "This Is Content "+i);
    30.             myArrayList.add(map);
    31.         }
    32.          
    33.         //生成SimpleAdapter适配器对象
    34.         SimpleAdapter mySimpleAdapter=new SimpleAdapter(this,
    35.                 myArrayList,//数据源
    36.                 R.layout.list_items,//ListView内部数据展示形式的布局文件listitem.xml
    37.                 new String[]{"itemTitle","itemContent"},//HashMap中的两个key值 itemTitle和itemContent
    38.                 new int[]{R.id.itemTitle,R.id.itemContent});/*布局文件listitem.xml中组件的id
    39.                                                             布局文件的各组件分别映射到HashMap的各元素上,完成适配*/
    40.          
    41.         myListView.setAdapter(mySimpleAdapter);
    42.         //添加点击事件
    43.         myListView.setOnItemClickListener(new OnItemClickListener(){
    44.             @Override
    45.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    46.                     long arg3) {
    47.                 //获得选中项的HashMap对象
    48.                 HashMap<String,String> map=(HashMap<String,String>)myListView.getItemAtPosition(arg2);
    49.                 String title=map.get("itemTitle");
    50.                 String content=map.get("itemContent");
    51.                 Toast.makeText(getApplicationContext(),
    52.                         "你选择了第"+arg2+"个Item,itemTitle的值是:"+title+"itemContent的值是:"+content,
    53.                         Toast.LENGTH_SHORT).show();
    54.             }
    55.              
    56.         });
    57.     }
    58. }


阅读(5204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~