我正在尝试在我的内部更改startButton的颜色:

onClick(View v) {
  switch (v.getId()) {
    case R.id.startButton:
    startButton.setTextColor(Color.RED);

    listenForNoise();
  break;}
}

private void listenForNoise(){
  /////******
return


但是只有当我的方法listenForNoise返回时,它才会改变。因此存在延迟(方法具有触发循环)。
我如何在按下按钮时改变颜色?

最佳答案

您可以调用“ listenForNoise();”在另一个线程内;
像这样的东西:

onClick(View v) {
switch (v.getId()) {
case R.id.startButton:
startButton.setTextColor(Color.RED);
new Thread(new Runnable() {
        public void run(){
listenForNoise();
        }
    }).start();
break;}
}
private void listenForNoise(){
/////******
return
}

10-08 14:34