Activity ohne Button wechseln?

  • Antworten:4
Kullorki
  • Forum-Beiträge: 55

05.12.2010, 12:47:07 via Website

Hallo ich hab 1kleines problemchen

Ich will, wenn beim programmstart eine variable den wert null hat( also keinen), das eine andere activity gestartet wird, als die haupt activity. -_-
Dazu habe ich allerdings nicht wirklich was gefunden, weil das activity wechseln immmer nur per button gemacht wird.

Intent lIntent = new Intent(//was muss hier rein?//, Settings.class); // statt view.getContext();
startActivityForResult(lIntent, 0);


mfg

edit: fehler selbst behoben:
Progress dialoge verschwinden nicht wenn man einen OntouchListener benutzt...

— geändert am 07.12.2010, 21:04:22

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

07.12.2010, 12:10:03 via Website

Schreibe doch mal sauber was du hast auf, deine PS Note ist ebenfalls ohne Kontext nicht zu beantworten.
Android kann nicht einfach je nach "variablen wert" eine andere Activity starten, du hast ein Problem in deinem Design
der Activitys wenn du so arbeiten willst/musst.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Gelöschter Account
  • Forum-Beiträge: 66

07.12.2010, 13:53:12 via Website

Also wenn ich das richtig verstanden habe, musst du einfach eine "neue" Activity erstellen die solch eine if abfrage enthält.

1if(variable == null) {
2 startActivity(new Intent(context, Klasse1.class));
3}
4else {
5 startActivity(new Intent(context, Klasse2.class));
6}

Antworten
Gelöschter Account
  • Forum-Beiträge: 294

07.12.2010, 16:34:31 via Website

Ich hoffe ich habe die Frage richtig verstanden. Wenn Main die ursprünglich aufgerufene Activity ist dann kannst Du ganz einfach im onCreate Folgendes machen:

1if (var == null) {
2 startActivity(new Intent().setClass(this, DieAndereActivity.class));
3 finish();
4}

Der finish() sorgt dafür das Main dann direkt beendet wird und nicht weiter rumfliegt. Wenn Du das Main aber weiter benötigst dann lass das finish() weg und nimm stattdessen den startActivityForResult() Aufruf.

Gruß
Harald

— geändert am 07.12.2010, 16:34:58

Antworten
Kullorki
  • Forum-Beiträge: 55

07.12.2010, 21:55:36 via Website

Danke Admin Service Limited & Stefan Baumgartner
hat beides funktioniert ! :) , allerdings hat eclipse statt Context dann "getBaseContext()" vorgeschlagen

@ MacSystems... ich hatte da anfangs 2 Fragen stehen, eine hat sich aber erübrigt .
Undzwar wollte bei mir der Progress dialog nicht so richtig verschwinden, und das lag daran das ich einen Ontouchlistener statt Onklicklistener benutzt habe...

— geändert am 07.12.2010, 21:57:25

Antworten