ListView监听点击例子

listview SimpleAdapter 例子

 

 

 

 

 

 

?
package  com.test.www;
 
import  java.util.ArrayList;
import  java.util.HashMap;
 
import  android.app.Activity;
import  android.os.Bundle;
import  android.view.ContextMenu;
import  android.view.MenuItem;
import  android.view.View;
import  android.view.ContextMenu.ContextMenuInfo;
import  android.view.View.OnCreateContextMenuListener;
import  android.widget.AdapterView;
import  android.widget.ListView;
import  android.widget.SimpleAdapter;
import  android.widget.AdapterView.OnItemClickListener;
 
public  class  MainActivity extends  Activity {
      @Override 
         public  void  onCreate(Bundle savedInstanceState) { 
             super .onCreate(savedInstanceState); 
             setContentView(R.layout.main); 
             //绑定Layout里面的ListView 
             ListView list = (ListView) findViewById(R.id.ListView01); 
               
             //生成动态数组,加入数据 
             ArrayList<HashMap<String, Object>> listItem = new  ArrayList<HashMap<String, Object>>(); 
             for ( int  i= 0 ;i< 5 ;i++) 
             {
                 if (i== 0 ){
                     HashMap<String, Object> map = new  HashMap<String, Object>(); 
                     map.put( "ItemImage" , R.drawable.checked); //图像资源的ID 
                     map.put( "ItemTitle" , "个人信息" ); 
                     map.put( "LastImage" , R.drawable.lastimage); 
                     listItem.add(map);
                 } else  if (i== 1 ){
                     HashMap<String, Object> map = new  HashMap<String, Object>(); 
                     map.put( "ItemImage" , R.drawable.c); //图像资源的ID 
                     map.put( "ItemTitle" , "修改密码" ); 
                     map.put( "LastImage" , R.drawable.lastimage); 
                     listItem.add(map);
                 } else  if (i== 2 ){
                     HashMap<String, Object> map = new  HashMap<String, Object>(); 
                     map.put( "ItemImage" , R.drawable.d); //图像资源的ID 
                     map.put( "ItemTitle" , "网络设置" ); 
                     map.put( "LastImage" , R.drawable.lastimage); 
                     listItem.add(map);
                 } else  if (i== 3 ){
                     HashMap<String, Object> map = new  HashMap<String, Object>(); 
                     map.put( "ItemImage" , R.drawable.d); //图像资源的ID 
                     map.put( "ItemTitle" , "打印设置" ); 
                     map.put( "LastImage" , R.drawable.lastimage); 
                     listItem.add(map);
                 } else {
                     HashMap<String, Object> map = new  HashMap<String, Object>(); 
                     map.put( "ItemImage" , R.drawable.e); //图像资源的ID 
                     map.put( "ItemTitle" , "返回" ); 
                     map.put( "LastImage" , R.drawable.lastimage); 
                     listItem.add(map);
                 }
                  
            
             //生成适配器的Item和动态数组对应的元素 
             SimpleAdapter listItemAdapter = new  SimpleAdapter( this ,listItem, // 数据源  
                 R.layout.list_items, //ListItem的XML实现 
                 //动态数组与ImageItem对应的子项         
                 new  String[] { "ItemImage" , "ItemTitle" , "LastImage" },  
                 //ImageItem的XML文件里面的一个ImageView,两个TextView ID 
                 new  int [] {R.id.ItemImage,R.id.ItemTitle,R.id.last} 
             ); 
              
             //添加并且显示 
             list.setAdapter(listItemAdapter); 
               
             //添加点击 
             list.setOnItemClickListener( new  OnItemClickListener() { 
       
                 @Override 
                 public  void  onItemClick(AdapterView<?> arg0, View arg1, int  arg2, 
                         long  arg3) { 
                     setTitle( "点击第" +arg2+ "个项目" ); 
                     if (arg2 == 4 ){
                         MainActivity. this .finish();
                     }
                
             }); 
               
           //添加长按点击 
             list.setOnCreateContextMenuListener( new  OnCreateContextMenuListener() { 
                   
                 @Override 
                 public  void  onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { 
                     menu.setHeaderTitle( "长按菜单-ContextMenu" );    
                     menu.add( 0 , 0 , 0 , "弹出长按菜单0" ); 
                     menu.add( 0 , 1 , 0 , "弹出长按菜单1" );    
                 }
  
             });  
        
           
         //长按菜单响应函数 
         @Override 
         public  boolean  onContextItemSelected(MenuItem item) { 
             setTitle( "点击了长按菜单里面的第" +item.getItemId()+ "个项目" );  
             return  super .onContextItemSelected(item); 
         }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值