Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓将点击转化为触摸_Android - Fatal编程技术网

Android 安卓将点击转化为触摸

Android 安卓将点击转化为触摸,android,Android,我有一个点击式侦听器: whiteKeyPressedArray[i].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { }} 我看到这允许接触: public boolean onTouch(View v, MotionEvent event) { //Switch case for type of touch } 但我如何才能检测触摸而不是点击我的按键

我有一个点击式侦听器:

whiteKeyPressedArray[i].setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {
}}
我看到这允许接触:

public boolean onTouch(View v, MotionEvent event) {

//Switch case for type of touch
}
但我如何才能检测触摸而不是点击我的按键阵列[I]


谢谢

我不知道whiteKeyPressedArray[I]是什么,但您是否尝试过:

whiteKeyPressedArray[i].setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        return true; // or false if you want the event to pass on
    }
});

也许这就是你想要的?

我不知道whiteKeyPressedArray[I]是什么,但你试过:

whiteKeyPressedArray[i].setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        return true; // or false if you want the event to pass on
    }
});

也许这就是你想要的?

OnTouch会多次触发:),实际上只要你保持手指指向该元素(只要你触摸该元素),OnTouch就会被反复触发。其中onClick将仅触发一次,但只有当您从onTouch处理程序返回false时才触发。

onTouch将多次触发:),实际上只要您将手指指向该元素(只要您触摸该元素),onTouch将被反复触发。其中onClick将只触发一个,但前提是您从onTouch处理程序返回false。

通过MotionEvent,您可以获取action\u DOWN、action\u UP、action\u MOVE等动作。因此它可能比onClick更强大。返回类型与View.OnTouchListener.onTouch(View,MotionEvent)不兼容。是的,这是我的错,抱歉。onTouch的返回类型为布尔型。返回false允许事件冒泡前进,由另一个视图处理。返回true会停止事件链,使您的onTouch方法成为唯一对事件做出反应的方法-我更新我的答案并更正返回类型通过MotionEvent您可以获取action\u DOWN、action\u UP、action\u MOVE等动作。因此它可能比OnClick更强大。返回类型与View.OnTouchListener.onTouch不兼容(视图、运动事件)是的,这是我的错。很抱歉。onTouch的返回类型是布尔值。返回false允许事件冒泡前进,由另一个视图处理。返回true会停止事件链,使您的onTouch方法成为唯一对事件做出反应的方法-我更新答案并更正返回类型以进行添加。您使用onTouch处理触摸事件,如手指移动等等。你使用onClick进行“选择”操作(手指向下,然后在同一视图中向上)。你可以使用onTouch进行相同的操作,但这需要更多的工作。只需添加。你使用onTouch进行触摸事件,例如手指移动等等。你使用onClick进行“选择”操作(手指向下,然后在同一视图中向上).您可以将onTouch用于相同的目的,但它需要更多的工作。