- Forum-Beiträge: 4
10.01.2015, 21:36:18 via Website
10.01.2015 21:36:18 via Website
Hallo Community,
mich quält gerade folgendes Problem.
- Activity wird gestartet
- über einen Buttonklick wird eine zweite Activity gestartet
- diese zweite Activity startet einen Thread
- sobald der Thread beendet wird, soll auch die zweite Activity beendet und die erste Activity wieder angezeigt werden
So sieht mein Versuch aus:
Activity eins:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class ActivityEins extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_eins);
}
public void button1(View view) {
Intent i = new Intent(getApplicationContext(), ActivityZwei.class);
startActivity(i);
}
}
Activity zwei
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
public class ActivityZwei extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_zwei);
}
public void button2(View view) {
TestThread testThread = new TestThread();
testThread.start();
}
public Handler messageHandler = new Handler() {
public void handleMessage(Message msg) {
finish();
}
};
}
TestThread
import android.os.Looper;
import android.os.Message;
public class TestThread extends Thread {
@Override
public void run() {
Looper.prepare();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace(); }
Message mes = new Message();
mes = null;
ActivityZwei az = new ActivityZwei();
az.messageHandler.handleMessage(mes);
}
}
Der f
inish()Befehl in der Activity zwei wird zwar ausgeführt, tut aber nicht was von ihm erwartet wird. Die Activity zwei wird nicht geschlossen.
Wie kann ich dies bewerkstelligen?
Damit mein Programm funktioniert, müssen sich die beiden Activitys und der Thread in eigenen Klassen befinden.
Danke für Eure Hilfe
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.