如何在用户按下 imageButton 之间添加延迟?
How do you Add a delay between user press on 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
或者你可以看看this Link
5秒后设置OnClickListener。您也可以立即设置 OnClickListener,然后将图像设置为启用。
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();
我想让用户在按下图像按钮之前必须等待一小段时间,我不知道最好的方法。
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
或者你可以看看this Link
5秒后设置OnClickListener。您也可以立即设置 OnClickListener,然后将图像设置为启用。
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();