이것은 즉, 방법 새로운 목소리() 후 5 ~ 10 초 후에 내 코드새로 고침 텍스트 뷰는 즉시
try {
final double calcResult = CalcUtils.evaluate(textViewOutputScreen.getText().toString());
textViewOutputScreen.setText(Double.toString(calcResult)); //setting text to text view
new voices().voice(calcResult); //this method takes about 5-10 seconds to execute
} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
textViewOutputScreen.setText("0");
}
내가 두 번째 줄에
TextView
로 설정 텍스트가 화면에 업데이트됩니다
입니다. 음성 (calcResult); 실행이 완료되었습니다.
나는 방법이 같은 몇 지연을 유지
try {
Thread.sleep(700);
} catch (InterruptedException e) {
e.printStackTrace();
}
나는 방법은 내가 할 수있는 방법을 호출하기 전에 텍스트보기를 새로 고칠?
비슷한 질문을했지만 그 중 아무 것도 저에게 효과가 없었습니다. 당신이 main
스레드에서 코드를 실행하는 것처럼
덕분에 작동하지 않는, 무효화하지만 여전히 그럼 당신은 로버트가 말하는 것을 시도해야 – Redman
를 작동하지 않는 것을 시도했다. 백그라운드 스레드에'new voice(). voice (calcResult);를 넣어보세요. 프로 팁에서 'AsyncTask'를 확인하고 있습니다. 그리고 백그라운드에서 무거운 물건을 다하는 것 – Mazze
는 매력처럼 일했다, 고맙다. – Redman