Я хотел бы сделать так, чтобы пользователю пришлось немного подождать, прежде чем ему будет разрешено нажать кнопку 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");
}
}
}
Я не хочу, чтобы пользователь мог спамить, нажимая кнопки изображения. Может быть, лучше всего добавить задержку или отключить кнопку на короткое время после ее нажатия?
@MurugananthamS да, это может быть лучший способ подойти к этому.
хорошо, я сообщу таймер обратного отсчета
попробуй так
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Magic here
}
}, 1000); // Millisecond 1000 = 1 sec
или вы можете взглянуть на эта ссылка
Он установит OnClickListener через 5 секунд. Вы также можете сразу установить 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();
после нажатия кнопки подождите 5 секунд, после чего ваша требуемая задача будет выполнена - это то, что вы хотите правильно