- Forum-Beiträge: 1.527
09.08.2021, 19:28:51 via Website
09.08.2021 19:28:51 via Website
Hallo möchte auf einen noch Laufenden Thread zugreifen nach dem Handy drehen.
Im Moment habe ich es über eine Klassenvariable (static) gelöst.
Beim drehen vom Handy wird ja die onCreate neu gestartet eigentlich sogar die Klasse neu erstellt.
Ich möchte es nicht mit static haben auch nicht einen Service, Singleton oder ViewModel benutzen.
Wie Kann ich den noch laufenden Thread nach den Drehen aufrufen?
Besser gesagt wie komme ich wider an die Instanz des Threads?
Eine Instanzvariable (kein static) ist ja nach dem drehen nicht mehr gültig.
Es muss also eine Möglichkeit geben wider an die Instanz des Threads zu kommen. Er läuft ja weiter nach dem Handy drehen.
Wenn ich dem Thread einen Namen mitgebe setName(String st) wie kann ich ihn nach dem drehen finden?
dieser code geht aber ich möchte es ohne static
public class MainActivity extends AppCompatActivity {
static Thread t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (t1 == null) {
t1 = new Thread(new MyThread());
t1.start();
Log.d("test","Thread wurde gestartet");
}
}
public class MyThread implements Runnable {
@Override
public void run() {
for (int i=0 ; i<100 ; i++) {
Log.d("test","Thread läuft : "+i);
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
— geändert am 09.08.2021, 19:34:47
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.