设为首页 加入收藏

TOP

ListView中pointToPosition()方法使用详细示例
2015-07-20 17:59:54 来源: 作者: 【 】 浏览:1
Tags:ListView pointToPosition 方法 使用 详细 示例

MainActivity如下:

package cc.testpointtoposition;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.app.Activity;
/**
 * Demo描述:
 * ListView中pointToPosition()方法使用示例.
 * 依据触摸点的坐标计算出点击的是ListView的哪个Item
 * 
 * 参考资料:
 * http://blog.csdn.net/guolin_blog/article/details/17357967
 * Thank you very much
 */
public class MainActivity extends Activity {
    private ListView mListView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
		listenListViewTouch();
	}
	
	private void init(){
		mListView=(ListView) findViewById(R.id.listView);
        List
  
   > list=new ArrayList
   
    >(); HashMap
    
      hashMap=null; for (int i = 0; i < 8; i++) { hashMap=new HashMap
     
      (); hashMap.put(name, 小明+i); hashMap.put(phone, 135+i); hashMap.put(amount,500+i); list.add(hashMap); } SimpleAdapter adapter=new SimpleAdapter(this, list, R.layout.listviewitem, new String []{name,phone,amount}, new int[]{R.id.name,R.id.phone,R.id.amount}); mListView.setAdapter(adapter); } private void listenListViewTouch(){ mListView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int item=mListView.pointToPosition((int) event.getX(), (int) event.getY()); System.out.println(---> 现在点击了ListView中第+(item+1)+个Item); return true; } }); } } 
     
    
   
  

?


  
    
    
     
      
     
    
   
  


?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇getWidth和getMeasuredWidth在何.. 下一篇HDU 2815 Mod Tree 离散对数 扩展..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: