Java 如何在用户按下imageButton之间添加延迟?

Java 如何在用户按下imageButton之间添加延迟?,java,android,imagebutton,Java,Android,Imagebutton,我想让用户在按下imageButton之前等待一小段时间,我不知道最好的方法 private class HandleClick implements View.OnClickListener { public void onClick(View arg0) { if(arg0.getId()==R.id.imageButton){ ((TextView) findViewById(R.id.textView2)).setText("Press

我想让用户在按下imageButton之前等待一小段时间,我不知道最好的方法

private class HandleClick implements View.OnClickListener {

    public void onClick(View arg0) {

        if(arg0.getId()==R.id.imageButton){
            ((TextView) findViewById(R.id.textView2)).setText("Pressed: " + ++howManyClicks1);
            /* Uri uri = Uri.parse("https://abr.se/happyeno/?get=happyeno_svar_put&svar_id=1");
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);*/
            simpleWebView.loadUrl("https://abr.se/happyeno/?get=happyeno_svar_put&svar_id=1");
            //startActivity(intent);

        }
        else if (arg0.getId()==R.id.imageButton1){
            ((TextView) findViewById(R.id.textView3)).setText("Pressed: " + ++howManyClicks2);
            /*Uri uri = Uri.parse("https://abr.se/happyeno/?get=happyeno_svar_put&svar_id=2");
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            //startActivity(intent);*/
            simpleWebView.loadUrl("https://abr.se/happyeno/?get=happyeno_svar_put&svar_id=2");
        }
        else if (arg0.getId()==R.id.imageButton2){
            ((TextView) findViewById(R.id.textView5)).setText("Pressed: " + ++howManyClicks3);
            /*Uri uri = Uri.parse("https://abr.se/happyeno/?get=happyeno_svar_put&svar_id=3");
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            //startActivity(intent);*/
            simpleWebView.loadUrl("https://abr.se/happyeno/?get=happyeno_svar_put&svar_id=3");

        }
    }
}
我不希望用户能够单击imageButtons。也许最好的方法是在按下按钮后添加一个延迟或短时间禁用按钮?

试试这种方法

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            // Magic here
        }
    }, 1000); // Millisecond 1000 = 1 sec

或者您可以查看一下,它将在5秒后设置为OnClickListener。您还可以立即设置OnClickListener,然后将image设置为enabled

void setListeners() {
    imageView.postDelayed(new Runnable() {
        @Override
        public void run() {
            imageView.setOnClickListener(this);
        }
    }, 5 * 1000);
    //or like that
    new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
        @Override
        public void run() {
            imageView.setOnClickListener(this);
        }
    }, 5 * 1000);
}

尝试在您的单击侦听器中使用倒计时

new CountDownTimer(5000, 1000) {

   public void onTick(long millisUntilFinished) {
      //count down 5,4,3,2,1.
   }

   public void onFinish() {
      //Write you logic here
   }

}.start();

单击按钮后等待5秒,然后执行所需任务-这是您想要的right@MurugananthamS是的,这可能是最好的方法。好的,我会参考倒计时