我有一个包含项目的列表视图。单击一个项目将转到另一个活动。我的问题是点击多个项目(比如 3 0r4 ),所有点击都被加载。但我不需要它。一次只想加载 1 个项目。在 HTC one、三星 Galaxy s plus 上测试。请帮忙。
问问题
1131 次
3 回答
3
您可以检测到多点触控并忽略它。
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);
}
于 2013-02-04T05:52:30.803 回答
0
use the follow method can solve that:
public class FastClickUtil {
private static long lastClickTime;
public synchronized static boolean isFastClick() {
long time = System.currentTimeMillis();
if ( time - lastClickTime < 500) {
return true;
}
lastClickTime = time;
return false;
}
}
put that method in your onItemCLickListner or in your adapter‘s getview like me
holder.title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 解决短时间内同时点击多个item
if (FastClickUtil.isFastClick()) {
return;
} else {
Message msg = Message.obtain();
msg.what = MSG_WHAT_ONITEM_CLICK;
// Bundle data = new Bundle() ;
// msg.setData(data) ;
msg.obj = menuItem.getTitleResId();
getHandler().sendMessage(msg);
}
}
});
于 2016-05-12T01:45:14.750 回答
0
要停止这种情况,请在列表视图中使用它。
android:splitMotionEvents="false"
于 2021-06-02T08:09:09.087 回答