0
我創建了一個按鈕,現在我想添加,如果我點擊它,線程應該睡覺。現在我有問題,如果我點擊按鈕,程序沒有睡覺。我通過添加另一個背景來測試按鈕的功能。停止線程按鈕
ToggleButton t;
LinearLayout l;
boolean pausegedrückt;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tts = new TextToSpeech(this, this);
pausegedrückt=false;
public void Crunch(int anzahl) {
setContentView(R.layout.crunch);
//Start und Stop Button
t=(ToggleButton) findViewById(R.id.toggleButton1);
t.setOnCheckedChangeListener(this);
l=(LinearLayout)findViewById(R.id.layout);
while (pausegedrückt) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
tts.speak("Übung Grandsch: In 10 Sekunden geht`s los! Mach dich bereit!", TextToSpeech.QUEUE_ADD, null);
tts.playSilence(9000, TextToSpeech.QUEUE_ADD, null);
tts.speak("Los gehts!", TextToSpeech.QUEUE_ADD, null);
tts.speak("Mache" + anzahl + "Wiederholungen!" , TextToSpeech.QUEUE_ADD, null);
for (int i = 1; i < anzahl+1; i++) {
String str = String.valueOf(i);
tts.speak(str, TextToSpeech.QUEUE_ADD, null);
tts.playSilence(3000, TextToSpeech.QUEUE_ADD, null); }
tts.speak("Übung beendet!", TextToSpeech.QUEUE_ADD, null);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
l.setBackgroundColor(Color.BLUE);
pausegedrückt=true;
} else {
l.setBackgroundColor(Color.BLACK);
pausegedrückt=false;
}
}
哪裏是線程的正確方法?你正在調用ui線程的睡眠? – Raghunandan
方法緊縮被另一個類調用。我是否需要在線程中設置整個方法? – basti12354
非常混亂。另一類。是活動課嗎?你在說什麼線程 – Raghunandan