Activity im Hintergrund ausführen ????

Z

zblack

Gast
Hallo Freunde,
ich versuche seit Tagen verzweifelt Folgendes hinzukriegen.
Ich habe eine StartActivity die, solange ein Bild anzeigt, solange eine andere Activity im Hintergrund vollständig aufgebaut ist. Erst dann wird das Fenster der anderer Activity angezeigt.
Dh., dass ich die erste Activity solange schlaffen lassen soll, bis die andere Activity aufgebaut wird.
Doch leider habe ich noch keine Idee oder Lösung dafür gefunden.

Ist dies überhaupt möglich?

Bitte Hilfe.
Mit freundlichen Grüßen.
 
Das müsse eigentlich möglich sein, ist aber kompliziert. Denn es müsste die "Splash" Activity (oder ein Service) die Daten laden und an die "Payload" Activity übergeben.

Es gibt noch andere Möglichkeiten: Du kannst den Splash als Dialog realisieren oder auch innerhalb einer Activity mit mehreren ContentViews arbeiten.
 
Ich würde mit Fragments und den Inhalt bei android.R.id.content austauschen. Spart den Overhead einer extra Activity. Das Laden der Daten kannst du mit dem AsyncTask machen. In der Post Methode kannst du dann ganz einfach den Inhalt mit der FragmentTransaction austauschen.
 
v Ralle v schrieb:
Ich würde mit Fragments und den Inhalt bei android.R.id.content austauschen. Spart den Overhead einer extra Activity. Das Laden der Daten kannst du mit dem AsyncTask machen. In der Post Methode kannst du dann ganz einfach den Inhalt mit der FragmentTransaction austauschen.

hast du vlt ein beispiel dafür ??
 
Mach ich egtl. selten, weil alles dafür in der Doku steht, aber na gut:

Code:
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		Fragment fragment = getFragmentManager().findFragmentById(android.R.id.content);
		if (fragment == null) {
			ContentFragment contentFragment = new ContentFragment();
			getFragmentManager().beginTransaction().add(android.R.id.content, contentFragment).commit();
		}
		
		if (savedInstanceState == null) {
			new MyExample().execute();
		}
	}
	
	private class MyExample extends AsyncTask<Void, Void, Void> {

		@Override
		protected Void doInBackground(Void... params) {
			// TODO Auto-generated method stub
			return null;
		}
		
		@Override
		protected void onPostExecute(Void result) {
			getFragmentManager().beginTransaction().replace(android.R.id.content, new ContentFragment()).commit();
		}
	}

Es geht auch schöner mit Loadern und über Interfaces.
 

Ähnliche Themen

S
Antworten
9
Aufrufe
1.199
swa00
swa00
C
Antworten
8
Aufrufe
1.124
swa00
swa00
D
  • djsnoopy
Antworten
6
Aufrufe
616
djsnoopy
D
Zurück
Oben Unten