我有13个按钮,需要逐个更改按钮的颜色。在下面的代码中,“copyview”有按钮ID,“TextToSpeech”调用TextToSpeech方法。我的问题是我正在泰米尔语中逐字逐句。但是只有当循环结束时,按钮颜色才会改变。按钮的颜色不会一个接一个地改变,在for循环结束时,所有按钮颜色都变为白色。但是音频没问题就完美了。我想要做的是让按钮的颜色逐一改变..
for(int i=0;i<Uirkeys.length;i++){
try {
TeaxtToSpeach(map.get(Uirkeys[i]));
copyView.get(i).setBackgroundColor(Color.WHITE);
Thread.sleep(700);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
您需要在UI线程中运行它,因为您正在运行UI更改
这是一个例子
Activity.runOnUiThread(new Runnable() {
@Override
public void run() {
TeaxtToSpeach(map.get(Uirkeys[i]));
copyView.get(i).setBackgroundColor(Color.WHITE);
}
});