2015-01-04 3 views
0

이 runOnUiThread()를 통해 내 UI를 조작하고 싶습니다. doStuff는 음성 출력을 제외한 모든 항목을 삭제하면 실행될 수 있습니다. 하지만 내가 그것을 떠날 때 doStuff의 아무 것도 실행되지 않습니다. 왜 아무 일도 일어나지 않는데?runOnUiThread()가 실행되지 않았습니다.

public void doStuff() { 
    runOnUiThread(new Runnable() { 
     public void run() { 
      try { 
       Linearlayout layout = (Linearlayout) findViewById(R.id.layout1); 
       Button button1 = (Button) findViewById(R.id.button1); 
       Button button2 = (Button) findViewById(R.id.button2); 

       layout.setVisibility(View.VISIBLE); 
       layout.setClickable(true); 

       String output = "test test test"; 
       button1.setText(output); 

       String more_output="here it comes"; 
       button2.setText(more_output); 

       String together = output + more_output; 
       ttobj.speak(together, TextToSpeech.QUEUE_FLUSH, null); //Speech output 
      }catch (Exception e) { 

      } 
     } 
    }); 
} 
+0

최악의 아이디어, 빈 잡기. 이것을 사용하여 wrnog가 무엇인지 확인한 다음 logcat'catch (Exception e) {e.printStacktrace();}를 확인하십시오. – Yazan

+0

예외가 발생하지 않습니다. – phsycholic

답변

0

다음과 같이 코드 실행을 시작하십시오.

 YourAcivityName.this.runOnUiThread(new Runnable) 
      @Override public void run() { 
      //your code here 
     } 
    });