Beiträge von Hacky

    Hallo zusammen, da ich gerade nicht mehr weiter komme mit meine APP wollte ich das problem nun mal hier Posten. Und zwar hab ich eine TabActivity wo ich 4 Tabs create und sie dann aufs UI setzte. Nun sind in den einzelne Tabs ListViews die nach bestimmten Aktionen aktualisiert werden müssen. quasi ein Externe Therad aktualisiert das UI. ich dachte einfach ich könnte den Tabhost sagen, "tabHost.clearAllTabs();" quasi alle Tabs löschen und neu die Tabs einfügen damit sie sich Aktuallisieren. Das ganze funktioniert so weit, wenn ich mich auf dem DefaultTab (das erste eingefügte Tab) bewege. Geh ich nun aber z.B. auf das zweite Tab und lasse das UI aktualisieren bekommen ich einen NullPointerException. Irgendwie komisch, nur weil ich mich auf einem Anderen Tab befinde ? -.- Wie kann ich den die Tabs besser aktualisieren, damit ich diesem problem aus dem Weg gehen kann ?


    Java
    private void tabHostViewUpdater() {		TabHost tabHost = getTabHost();		tabHost.clearAllTabs();		tabHostView();	}		private void tabHostView() {		Resources res = getResources();		TabHost tabHost = getTabHost();
    		TabHost.TabSpec tab1 = tabHost				.newTabSpec("all")				.setIndicator("All", res.getDrawable(R.drawable.all_48))				.setContent(						new Intent().setClass(this, DefaultTab.class).addFlags(								Intent.FLAG_ACTIVITY_CLEAR_TOP));		tabHost.addTab(tab1);				TabHost.TabSpec tab2 = tabHost				.newTabSpec("finished")				.setIndicator("Finished",						res.getDrawable(R.drawable.success_48))				.setContent(						new Intent().setClass(this, FinishTab.class).addFlags(								Intent.FLAG_ACTIVITY_CLEAR_TOP));		tabHost.addTab(tab2);				TabHost.TabSpec tab3 = tabHost				.newTabSpec("pending")				.setIndicator("Pending", res.getDrawable(R.drawable.syn_48))				.setContent(						new Intent().setClass(this, PendingTab.class).addFlags(								Intent.FLAG_ACTIVITY_CLEAR_TOP));		tabHost.addTab(tab3);				TabHost.TabSpec tab4 = tabHost				.newTabSpec("failed")				.setIndicator("Failed", res.getDrawable(R.drawable.alert_48))				.setContent(						new Intent().setClass(this, FailTab.class).addFlags(								Intent.FLAG_ACTIVITY_CLEAR_TOP));		tabHost.addTab(tab4);
    		tabHost.setCurrentTab(0);		tabHost.setup();	}

    Hallo Baschn, Ich kämpfe zur zeit auch mit Tabs und die Geschichte ist nicht so einfach manchmal. Zu deinem Connection Problem: Deine APP soll ja nicht ständig Daten schicken oder Daten abholen vom Server, dass wär ja sehr Performance intensive. Normal willst du ja z.B: ein Bild an den Server schicken der gibt dir dann einen Status 200 zurück und dann ist diese Übertragung Beendet. So wenn du nun in deine "Main" quasi deine TabActivity das Connections Zeugs handelst bekommst du ein Problem! nämlich jedes mal wenn du ein File an den Server schickst oder etwas empfängst steht deine APP still, bis du die Übertragung beendet ist. Deswegen solltest du mit Thread arbeiten (quasi ein neuer "Task" wo die Übertragung abgearbeitet wird). Also schreibst du die eine Klasse wo du die Übertragung abwickelst. dann in deinem Tabs sagst du du dann Hey ich möchte eine Übertragung starten mit dem und dem File. quasi new Transaction(image); <- Starten ein neuen
    Thread der im Hintergrund die Übertragung abwickelt und sich dann automatisch beendet nach dem senden.


    evtl. Hilt dir mein zeug weiter so hab ich das gelöst.


    Gruß Hacky