Handler hnd = new Handler() {
@Override
public void handleMessage(Message msg) {
int id = sequence.get(msg.arg1);
if(msg.arg1 % 2 == 0) {
sq.get(id-1).setBackgroundResource(R.drawable.square_show);
} else {
sq.get(id-1).setBackgroundResource(R.drawable.square);
}
}
};
@Override
public void onResume() {
super.onResume();
Thread background = new Thread(new Runnable() {
public void run() {
try {
for(int i = 0; i < sequence.size()-1; i++) {
record_tv.setText(""+i);
Thread.sleep(200);
Message msg = hnd.obtainMessage();
msg.arg1 = i;
msg.sendToTarget();
}
} catch(Throwable t) {
}
}
});
background.start();
}
[代码更新] 现在它通过第一个循环并停止
你知道为什么第一个 runOnUiThread 中的代码被执行但它没有做我想要的吗?
我想要的是:将图像更改为“方形”,等待 2 秒,将图像更改为“square_show”,等待 2 秒并重复循环
我已经挣扎了一个小时了...