Android禁用视图上的多点触摸

Android禁用视图上的多点触摸,android,button,view,multi-touch,Android,Button,View,Multi Touch,我面临着多点触控问题。问题是我可以同时触摸屏幕上的两个按钮我知道这个问题在这个论坛上被问了好几次,唯一的解决办法是在父版面中声明android:splitMotionEvents=“false”。但在宣布这一点之后,问题依然存在。是硬件问题还是代码问题?感谢这里的任何指针。这个问题之所以出现,是因为android 4.0每次单击都是在一个新线程中执行的 我是如何解决的: //一,。创建自己的单击侦听器 public abstract class AbstractCarOnClickLis

我面临着多点触控问题。问题是我可以同时触摸屏幕上的两个按钮

我知道这个问题在这个论坛上被问了好几次,唯一的解决办法是在父版面中声明
android:splitMotionEvents=“false”
。但在宣布这一点之后,问题依然存在。是硬件问题还是代码问题?感谢这里的任何指针。

这个问题之所以出现,是因为android 4.0每次单击都是在一个新线程中执行的

我是如何解决的:

//一,。创建自己的单击侦听器

    public abstract class AbstractCarOnClickListener {
        protected static volatile boolean processing = false;
        protected void executeBlock() {
            ActivityUtil.scheduleOnMainThread(new Runnable() {
                public void run() {
                    processing=false;
                }
            }, 400);
        }
    }
//二,。创建侦听器的子类

public abstract class AppButtonsOnClickListener extends AbstractCarOnClickListener implements View.OnClickListener {

    public void onClick(View v) {
        if(processing) return;
        try{
            processing=true;            
            onCarButtonClick(v);
        } finally {
            executeBlock();
        }
    }
    public abstract void onCarButtonClick(View v);
}
//三,。将侦听器设置为您的视图

    public void onClick(View v) {
         clickListener.onClick(v);
    }

    public OnClickListener clickListener = new AppButtonsOnClickListener(){
        public void onCarButtonClick(View v) {
            hintContainer.setVisibility(View.GONE);
            if (v == cancelButton) {
                listener.onCancelButtonClicked();
            }
        }
    }

这就是我的工作。除了在包含按钮的每个视图组上设置android:splitMotionEvents=“false”之外,我还将其放在MyAdapter.getView()中

…当然,这在适配器中

private static View mTouchedCell = null;

您是否尝试过使用android:windowEnableSplitTouch?原因将android:windowEnableSplitTouch=“false”或android:splitMotionEvents=“false”设置为存在按钮的视图组有效。
private static View mTouchedCell = null;