2

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

4

3 回答 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 回答