Android OnTouchListener操作是否有效?

Android OnTouchListener操作是否有效?,android,android-view,Android,Android View,这是我的密码: mSendButton.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTION_DOWN:

这是我的密码:

    mSendButton.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

               switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    // Send bluetooth data
                    break;
                case MotionEvent.ACTION_UP:
                    // Stop sending
                    break;
                }
                return false;
        }
    });

代码正在执行向下操作,但当我按住按钮时,它只发送一次数据我希望它在我按住按钮时继续发送数据,然后在我松开按钮时停止。有人能帮我吗?

玩一些游戏,比如while(flag){}loop。当发生任何事件操作时,将标志设置为true以异步方式连续运行循环(在单独的线程中运行),当操作设置为false以停止在线程中运行循环时,将标志设置为false

    mSendButton.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {

           switch(event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                // Send bluetooth data
                thread.start();
                flag = true;
                break;
            case MotionEvent.ACTION_UP:
                // Stop sending
                flag = false;
                break;
            }
            return false;
    }
});

//RUN THE BELOW FUNCTION IN A THREAD:
     void funtion(){
         while(flag){
   //enter the code here
         }
     }

创建一个while循环,按下时开始,抬起时停止。使用while循环将阻止主UI线程。所以你可以在动作中创建一个新的线程来完成这项工作,并在动作结束时停止,这可能是一个愚蠢的问题,但我真的不知道该放在哪里it@DerryPratama您不理解的原因是因为您不知道操作的含义,您应该花一些时间阅读您使用的API,这样你就可以熟悉你在做什么。建议阅读关于MotionEvent的内容。