Reload ListView Data

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von pkleimeyer, 27.07.2011.

  1. pkleimeyer, 27.07.2011 #1
    pkleimeyer

    pkleimeyer Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    27.07.2011
    Hallo Zusammen,

    ich habe eine App mit mehreren Tabs mit jeweils einer ListView. Dieses werden beim Start geladen und mit Daten aus einem WebService gefüllt. Das ist alles bisher kein Problem.

    Der User muss bei uns z.B. eine Stadt wählen.(Dieses Passiert auch über eine Activity)

    Jetzt möchte ich folgendes realisieren:

    Speichert der User die Stadt kommt er auf die letzte Activity zurück. In diesem Augenblick sollen alle ListViews neu geladen werden.
    Wie geht das?

    Unter iOS kenne ich es mit [NSNotificationCenter]

    Vielen Dank für die Hilfe :D
     
  2. swordi, 27.07.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    onResume() ist dein freund
     
  3. pkleimeyer, 27.07.2011 #3
    pkleimeyer

    pkleimeyer Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    27.07.2011
    Das will ich ja gerade nicht ... und zwar soll die app nicht wenn ich die tabs wechsel neuladen ...
    sondern nur beim ändern der stadt
     
  4. swordi, 27.07.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    dann musst halt im onResume abfragen, ob sich die stadt geändert hat

    wenn nicht, tu nichts
     
  5. pkleimeyer, 27.07.2011 #5
    pkleimeyer

    pkleimeyer Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    27.07.2011
    Das wäre eine Möglichkeit! Danke ...
    Wobei ich gerne im Hintergrund die Daten neu laden will!

    Gibt’s da nichts adäquates? ^^
    Würde ja gerne sowas haben...wo ich eine Message zentral registrieren kann und dann einfach aus irgend einer Activity diese Message an alle schicke.

    Finde dazu leider keinen einfachen Ansatz :(
     
  6. swordi, 27.07.2011 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    das konzept vom ios gibts bei android so nicht.
     
    pkleimeyer bedankt sich.
  7. pkleimeyer, 27.07.2011 #7
    pkleimeyer

    pkleimeyer Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    27.07.2011
    ^^ Habe ich auch festgestellt.
    Wir würdest du es denn sonst geschickt lösen?
     
  8. the_alien, 27.07.2011 #8
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    startActivityForResult() nutzen. Das Result in der Auswahlactivity setzen und das im onResume() der aufrufenden Activity holen und prüfen.
     
  9. pkleimeyer, 27.07.2011 #9
    pkleimeyer

    pkleimeyer Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    27.07.2011
    ich habe es folgendermaßen gelößt:

    In meiner ListActivity:
    Code:
    public BroadcastReceiver reloadReceiver = new BroadcastReceiver() {
    		@Override
    		public void onReceive(Context context, Intent intent) {
    			loadDataOnAsynkTask();				
    		}
    	};
    
    
    Der reloadReceiver muss nur noch im onCreate registriert werden und alles ist lässig ^^

    Code:
    registerReceiver(reloadReceiver, new IntentFilter("de.sample.reloadAll"));
    
    In der Activity in der sich speicher:

    Code:
    Intent reload = new Intent("de.sample.reloadAll");
                	sendBroadcast(reload);
    
     

Diese Seite empfehlen