Ich versuche einen Thread zu haben, der 3 Sekunden lang auf Benutzereingaben wartet, wenn der Benutzer auf die Schaltfläche "execute" klickt und wenn er nicht in 3 Sekunden klickt, führe "not" aus. Ich habe stackoverflow durchsucht, konnte aber keine exakte und vereinfachte Antwort finden. Sorry, wenn dies eine Wiederholungs- und/oder Noob-Frage ist.Thread Stopping und Methodenausführung
Hier ist der Code, den ich für den Moment habe, aber fühlen Sie sich frei, mir einen anderen Weg anzubieten, konnte es damit nicht lösen;
private Thread thread;
TextView maintext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final MainActivity myActivity = this;
maintext = (TextView) findViewById(R.id.mainText);
}
public void start(View view){
changeText("Waiting.");
thread= new Thread(){
@Override
public void run(){
try {
synchronized(this){
wait(3000);
}
}
catch(InterruptedException ex){
}
}
};
thread.start();
}
public void done(){
maintext.setText("You pressed the button in 3 seconds");
}
public void not(){
maintext.setText("You failed");
}
public void changeText(String text){
maintext.setText(text);
}
public void click(View view){
synchronized(thread){
thread.notifyAll();
}
}
Bitte beschreiben Sie das Problem. Es ist nicht klar, was falsch ist. –