2016-07-21 4 views
1

Ich entwickle eine Test-App mit Xamarin und ich habe ein UI-Problem.Label stoppt die Aktualisierung nach dem Navigieren zu einer anderen Aktivität und zurück

Die App besteht aus zwei Aktivitäten - nennen wir sie First und Second.

In der ersten Aktivität gibt es einen Event-Handler, die, einmal aufgerufen, Updates ein Label:

 Action action = delegate 
     { 
      _labelPlaybackStatus.Text = status; 
     }; 

     RunOnUiThread(action); 

Wenn die App gestartet wird, wird die erste Aktivität (das ist der Eintrittspunkt der app) ins Leben gerufen und Das Etikett wird aktualisiert. Die App läuft auf einem Testgerät und ich kann die Aktualisierung des Labels sehen.

Wenn ich jedoch von First zu Second navigiere und dann wieder zu First zurückkehre - das Label hört auf, visuell zu aktualisieren. Wenn ich einen Haltepunkt setze, sehe ich, dass der Event-Handler ausgelöst wird und die Zeile RunOnUiThread(action) ausgeführt wird, aber visuell auf dem Testgerät passiert nichts - der Beschriftungstext bleibt gleich.

Die Navigation zwischen beiden Aktivitäten wird mit StartActivity(intent) ausgeführt. Die Zeile _labelPlaybackStatus = FindViewById(Resource.Id.labelPlaybackStatus); wird in OnCreate der ersten Aktivität ausgeführt, sodass das Feld bei der Rückkehr zu First erneut initialisiert wird.

Was könnte das Problem sein?

+0

Haben Sie das Problem behoben? Ich habe es jetzt aber nicht immer. Manchmal friert ein Label ein und funktioniert erst wieder, wenn ich die App schließe oder wieder öffne. Aber manchmal funktioniert es einfach. Ich weiß nicht, wie ich das erreichen kann oder warum. – Dpedrinha

Antwort

0

Der OnCreated wird nur aufgerufen, wenn die Aktivität erstellt wird. Ich bin mir nicht sicher, aber ich glaube, Sie haben ein Problem mit Ihrem _labelPlaybackStatus Variable, weil Sie es in bevölkerten OnCreated

Sie Ihren Code OnCreated unter in onResume setzen kann, kann es Ihr Problem lösen .

Verwandte Themen