1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Artwork, 18.08.2010 #1
    Artwork

    Artwork Threadstarter Android-Hilfe.de Mitglied

    Hi,

    ich habe ein porblem. und zwar bekomme ich alle 5 sekunden ein standtort update.

    in abhängigkeit vom standort werden dann daten aus dem web geladen.

    dies soll nur beim ersten update und danach nur dann wenn sich die stadt in der man ist ändert getan werden.

    Code:
    Handler myViewUpdateHandler = new Handler(){
    		 
            public void handleMessage(Message msg) {
                    switch (msg.what) {
                    case UPDATE_LOCATION:
                    	
                           //hier wird die aktuelle stadt abgefragt und das feld currentCity gestetzt
    	               if(trigger && (currentCity != "")){
    	            	   firstCity = currentCity;
    	            	   trigger = false;
    	               }
    	               
    	              //hier sollen daten aus dem web geladen werden nur beim ersten update und dann immer wenn sich currentCity von der City aus dem ersten update also firstCity unterscheidet
        
                   }
    
                    super.handleMessage(msg);
           }
    };
    
    ich hab schon versucht etwas mit variablen rumzuspielen, hat aber nicht geklappt
     
  2. FelixL, 18.08.2010 #2
    FelixL

    FelixL Ehrenmitglied

    Ich kapiere deinen Code nicht...
    1) Wofür steht trigger/was ist seine Funktion?
    2) Wo überprüfst du ob die Städte gleich sind?

    Code:
    case UPDATE_LOCATION:
                    	
    	               if(currentCity != ""){
    	               	   if(firstCity != currentCity){//Städte sind nicht gleich, Aktion soll ausgeführt werden
    	            	   	   firstCity = currentCity;
    	            	   	   loadMyData(); //In dieser Funktion werden dann die weiteren Schritte gemacht.
    	               	   }
    	               }
    
    Dabei musst du nicht unbedingt loadMyData() als eigene Funktion machen, kannst es auch einfach dort in die if-Klammer reinschreiben, sollte klar sein.
    Ausserdem sollte beim initialisieren firstCity auf "" gesetzt werden, damit currentCity beim ersten mal anders ist und somit die Aktion ausgelöst wird.
    Vielleicht muss du auch firstCity und Currentcity anders vergleichen als mit einem == oder !=.
    Gibt dafür ja auch Funktionen, ich gehe mal davon aus das das Strings sind?
    Wenn das oben nicht geht kannst du das hier versuchen:

    if(0 != firstCity.compareTo(currentCity)){
     
    Zuletzt bearbeitet: 18.08.2010
    Artwork gefällt das.
  3. Fr4gg0r, 18.08.2010 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Also wenns Strings sind String1.equals(string2) verwenden..
     
  4. Artwork, 18.08.2010 #4
    Artwork

    Artwork Threadstarter Android-Hilfe.de Mitglied

    danke beide tipps haben geholfen, es funktioniert
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Xposed Modul ändert keine Integers Android App Entwicklung 11.06.2017
[ERLEDIGT] App stürzt neuerdings beim anzeigen des eigenen Standorts ab Android App Entwicklung 19.03.2017
10 Städte nach Entfernung anzeigen Android App Entwicklung 20.01.2017
Du betrachtest das Thema "Eine Sache nur dann ausführen wenn sich der Standort/Stadt ändert" im Forum "Android App Entwicklung",