Android 在listview上,一次只单击一项

Android 在listview上,一次只单击一项,android,listview,Android,Listview,我有一个带有项目的列表视图。单击一个项目,它将转到另一个活动。我的问题是点击多个项目(比如3 0r4),所有点击的项目都会被加载。但是我不需要它。一次只想加载一个项目。在HTC one、三星galaxy s plus上测试。请帮助。您可以检测多点触控并忽略它 public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub if(event.getPointerCount() > 1)

我有一个带有项目的列表视图。单击一个项目,它将转到另一个活动。我的问题是点击多个项目(比如3 0r4),所有点击的项目都会被加载。但是我不需要它。一次只想加载一个项目。在HTC one、三星galaxy s plus上测试。请帮助。

您可以检测多点触控并忽略它

public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub

if(event.getPointerCount() > 1) {
    System.out.println("Multitouch detected!");
    return true;
}
else
    return super.onTouchEvent(event);
}
使用以下方法可以解决:
公共类FastClickUtil{
私有静态长时间;
公共同步静态布尔值isFastClick(){
长时间=System.currentTimeMillis();
如果(时间-lastClickTime<500){
返回true;
}   
lastClickTime=时间;
返回false;
}
}
像我一样,将该方法放在您的mclicklistner或适配器的getview中
holder.title.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
// 解决短时间内同时点击多个项目
if(FastClickUtil.isFastClick()){
返回;
}否则{
Message msg=Message.get();
msg.what=msg\u what\u ONITEM\u单击;
//Bundle data=新Bundle();
//msg.setData(数据);
msg.obj=menuItem.getTitleResId();
getHandler().sendMessage(msg);
}
}
});

要停止此操作,请在列表视图中使用此选项

android:splitMotionEvents="false"

放一些你已经尝试过的代码。你能在这里显示你的代码吗?你能显示一些代码或任何能让任何人理解你的问题的东西吗?你是否使用适配器?因此,根据您选择的项目的位置,您可以使用该项目。其他您可以通过不使用项目的位置来限制。在应用程序中禁用多指触摸如何使用此功能?@NehemiahNarzary您可以在活动中实现onTouchEvent。只需将此代码粘贴到活动类中,它就可以工作了。
android:splitMotionEvents="false"