Android 如何在启用某项功能时连续执行单击

Android 如何在启用某项功能时连续执行单击,android,delay,android-handler,android-7.1-nougat,postdelayed,Android,Delay,Android Handler,Android 7.1 Nougat,Postdelayed,我是初学者。。。当我的按钮处于启用状态时,我需要在连续10秒后运行一些代码。 当我点击它,它变成了禁用状态,计时器停止。 我使用下面的代码,但每次单击timerbutton时它只运行一次。。。 我想我必须使用3D,我想我也使用了它!但我没有达到我的目标 private View.OnClickListener ontimerclicked = new View.OnClickListener() { @Override public void onClick(View view)

我是初学者。。。当我的按钮处于启用状态时,我需要在连续10秒后运行一些代码。 当我点击它,它变成了禁用状态,计时器停止。 我使用下面的代码,但每次单击timerbutton时它只运行一次。。。 我想我必须使用3D,我想我也使用了它!但我没有达到我的目标

private View.OnClickListener ontimerclicked = new View.OnClickListener() {
    @Override
    public void onClick(View view) {


        Handler myHandler = new Handler();
        myHandler.postDelayed(new Runnable() {
            @Override
            public void run() {

                if (endistimer==false) {
                    endistimer=true;
                    varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#E91E63"));                       
                    varbtnimgnext.performClick();

                    intdelay=10000;
                }
                else
                {
                    endistimer=false;
                    varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#dddddd"));
                    intdelay=0;

                }


            }
        }, intdelay);

    }
};

我最终用下面的代码解决了它。我把它交给了其他人:

 private View.OnClickListener ontimerclicked = new View.OnClickListener() {
    @Override
    public void onClick(View view) {

       mHandler = new Handler();

        if (endistimer==false) {
            endistimer=true;
            varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#E91E63"));

        }
        else
        {
            endistimer=false;
            varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#dddddd"));
            intdelay=5000;
            cntsec=0;
            varbtnplusfive.setText(arrsec[0] +" Sec");


        }


        new Thread(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                while (endistimer) {
                    try {
                        Thread.sleep(intdelay);
                        mHandler.post(new Runnable() {

                            @Override
                            public void run() {
                                // TODO Auto-generated method stub
                                // your codes
                                // you can set continue_or_stop to false, for stop

                            }
                        });
                    } catch (Exception e) {
                        // TODO: handle exception
                        Toast.makeText(slideword.this,e.toString(),Toast.LENGTH_SHORT);
                    }
                }
            }
        }).start();


    }
};

每次间隔时间,请尝试使用一些代码。这对我来说不是很有用。有人能帮我更多吗?