- Forum-Beiträge: 99
13.04.2014, 23:41:48 via Website
13.04.2014 23:41:48 via Website
Moin, also mein Problem ist, ich möchte eine Loop auf ein Ergebnis(Event) warten lassen, aber irgendwie funktioniert das nicht ganz gut bzw. ich brauche eine elegantere Lösung. Vorerst ich verspreche euch, ich Google schon seit 6 tagen und komme zu keinem vernünftigen Ergebnis, stackoverflow zu dem Thema ausgelesen... Ich will eine Loop, der in einem Thread läuft, auf ein Button Press im Prinzip warten lassen, aber das will nicht so ganz , bzw. meine Schleife läuft laut LogCat einfach weiter wien Zombie und wartet auf nichts.
try {
handler.post(new Runnable(){
@Override
public void run() {
vier.setPressed(true);
}
});
Thread.sleep(1500);
handler.post(new Runnable(){
@Override
public void run() {
vier.setPressed(false);
}
});
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Thread check = new Thread(new Runnable(){
public void run(){
handler.post(new Runnable(){
@Override
public void run() {
dreieck.setOnClickListener(MainActivity.this);
vier.setOnClickListener(MainActivity.this);
sechs.setOnClickListener(MainActivity.this);
kreis.setOnClickListener(MainActivity.this);
while(!Clicked){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finish();
}
}
});
}
});
check.start();
try {
check.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
onClick ist mit Clicked = true ausgestattet. Im Prinzip sollte die ganze App, der ganze Vorgang nur auf diesen ButtonPress warten, der Clicked zu true macht. P.S. Clicked ist die Klassenvariable
— geändert am 14.04.2014, 17:18:59
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.