Android 检测视图上的连续按压

Android 检测视图上的连续按压,android,Android,我需要播放特定的声音,只要用户按住ImageView,并在用户停止按住时暂停。在使用MediaPlayer进行任何操作之前,我尝试使用可控震源(此时请不要笑)对象对其进行测试。我已经实现并设置了一个OnTouchListener: @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN:

我需要播放特定的声音,只要用户按住
ImageView
,并在用户停止按住时暂停。在使用
MediaPlayer
进行任何操作之前,我尝试使用
可控震源
(此时请不要笑)对象对其进行测试。我已经实现并设置了一个
OnTouchListener

    @Override
public boolean onTouch(View v, MotionEvent event) {

    switch (event.getAction()) {

    case MotionEvent.ACTION_DOWN:

        vib.vibrate(50);

        break;

    case MotionEvent.ACTION_MOVE:
        /*--- no action required ---*/
        break;

    case MotionEvent.ACTION_UP:

        vib.cancel();
        break;
    }
    return false;

}
但是,振动操作仅执行一次,无论我按住
ImageView
多久。我想一个
MediaPlayer
也会有同样的反应。我做错了什么


另外,由于只有在我松开手指后,
可控震源才会记录“cancel()”,所以压力机被正确检测到。

它停止运行,因为它正在工作

vib.vibrate(50);
您将振动时间设置为50毫秒


我认为您的代码的其余部分是正确的。

它之所以停止,是因为在函数中

vib.vibrate(50);
您将振动时间设置为50毫秒


我认为您的其余代码是正确的。

哦,谢谢。我的计划失败了。不知怎的,我确实认为它会重复这个动作,直到新闻发布。哦,谢谢。我的计划失败了。不知怎的,我确实认为它会重复这个动作,直到新闻界发布这个观点。