public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.rollDice:
Random ranNum = new Random();
int number = ranNum.nextInt(6) + 1;
diceNum.setText(""+number);
sum = sum + number;
for(i=0;i<8;i++){
for(j=0;j<8;j++){
int value =(Integer)buttons[i][j].getTag();
if(value==sum){
inew=i;
jnew=j;
buttons[inew][jnew].setBackgroundColor(Color.BLACK);
//I want to insert a delay here
buttons[inew][jnew].setBackgroundColor(Color.WHITE);
break;
}
}
}
break;
}
}
Saya ingin mengatur penundaan antara perintah antara mengubah latar belakang. Saya mencoba menggunakan timer thread dan mencoba menggunakan lari dan tangkap. Tapi itu tidak berhasil. Saya mencoba ini
Thread timer = new Thread() {
public void run(){
try {
buttons[inew][jnew].setBackgroundColor(Color.BLACK);
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
timer.start();
buttons[inew][jnew].setBackgroundColor(Color.WHITE);
Tapi itu hanya berubah menjadi hitam.
Anda dapat menggunakan
CountDownTimer
mana yang jauh lebih efisien daripada solusi lain yang diposting. Anda juga dapat menghasilkan notifikasi reguler pada interval di sepanjang jalan menggunakanonTick(long)
metodenyaLihat contoh ini yang menunjukkan hitungan mundur 30 detik
sumber
Jika Anda sering menggunakan penundaan di aplikasi, gunakan kelas utilitas ini
Pemakaian:
sumber
Menggunakan
Thread.sleep(millis)
metode.sumber
Jika Anda ingin melakukan sesuatu di UI pada interval waktu reguler, pilihan yang sangat baik adalah menggunakan CountDownTimer:
sumber
Jawaban Handler di Kotlin:
1 - Buat fungsi tingkat atas di dalam file (misalnya file yang berisi semua fungsi tingkat atas Anda):
2 - Lalu sebut di mana saja Anda membutuhkannya:
sumber
Anda bisa menggunakan ini:
dan untuk penundaan itu sendiri, tambahkan:
di mana
delay
variabel dalam milidetik; misalnya diaturdelay
ke 5000 untuk penundaan 5 detik.sumber
Berikut adalah contoh di mana saya mengubah gambar latar belakang dari satu ke yang lain dengan penundaan fade alpha 2 detik dua arah - 2s fadeout dari gambar asli menjadi 2s fadein menjadi gambar ke-2.
sumber