Tôi muốn biết nếu nó có thể sử dụng handler(). Postdelayed hai lần?Android: sử dụng handler post.delayed hai lần
Ý tôi là, tôi muốn tạo nút, khi nhấp vào nó thay đổi màu và ở trạng thái này 1 giây, sau đó, sau 1 giây nút khác thay đổi màu.
tôi đã tạo ra đoạn mã sau:
Trong OnClickListener:
btn3.setBackgroundColor(Color.WHITE);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
checkAnswer();
waitAnswer();
btnRsp3.setBackgroundResource(R.drawable.selector);
}
}, 1000);
CheckAnswer:
public void CheckAnswer(){
btn1.setBackgroundColor(Color.GREEN);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
}
}, 500);
btn1.setBackgroundResource(R.drawable.selector);
}
Tôi nghĩ vấn đề là trên CheckAnswer vì nó có vẻ nó không dừng lại trong bài đăng nàyThay đổi và bước đến waitAnswer.
Cảm ơn
Cảm ơn bạn cho bạn câu trả lời, nhưng tôi không hiểu: nếu runnable thứ hai được thực hiện sau khi người đầu tiên chấm dứt lý do tại sao nó không thay đổi btn màu xanh lá cây như tôi mã trong lớp checkAnswer? Nó bỏ qua bước này không? – loading27
Runnable thứ hai của bạn trống. checkAnswer thay đổi màu thành màu xanh lá cây, sau đó xếp hàng hình chữ nhật trống, sau đó đặt tài nguyên nền, vì vậy bạn sẽ không thấy màu xanh lá cây – msh
Có, nhưng tôi nghĩ nếu tôi đặt màu thành xanh lục và tạo hàng đợi trống 500 ms, sau đó đặt lại nền, tôi thấy màu xanh lá cây 500 ms. – loading27