2016-07-21 4 views
1

Xamarinでテストアプリを開発していて、UIに問題があります。他のアクティビティにナビゲートした後にラベルが更新されなくなりました

アプリは2つのアクティビティで構成されています。まずはFirstとSecondを呼び出します。最初の活動で

一度と呼ばれる、イベントハンドラがあり、ラベルを更新:

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

     RunOnUiThread(action); 

アプリを起動すると、(アプリのエントリポイントである)最初のアクティビティが起動され、ラベルはうまく更新されます。アプリがテストデバイスで実行されていて、ラベルが更新されています。

しかし、最初から2番目に移動して最初に戻ると、ラベルの視覚的な更新が停止します。ブレークポイントを設定すると、イベントハンドラがトリガされ、RunOnUiThread(action)という行が実行されますが、テストデバイスでは視覚的に何も起こりません。ラベルのテキストは変わりません。

両方のアクティビティ間のナビゲーションはStartActivity(intent)で実行されます。行_labelPlaybackStatus = FindViewById(Resource.Id.labelPlaybackStatus);は、最初のアクティビティのOnCreateで実行されるため、フィールドは最初に戻ったときに再初期化されます。

何が問題になりますか?

+0

この問題を修正しましたか?私は今それを持っているが、必ずしもそうではない。ときどきラベルがフリーズし、アプリを閉じたり開いたりすると、再び動作するようになります。しかし時々それはちょうど働く。私はそれを起こす方法や理由を知らない。 – Dpedrinha

答えて

0

OnCreatedは、アクティビティの作成時にのみ呼び出されます。それはあなたの問題を解決することができ、 は私はわからないが、私はあなたがOnResumeをOnCreated の下であなたのコードを置くことができますでそれを埋め

をOnCreatedので、あなたがあなたの_labelPlaybackStatus変数に問題があると思います。

関連する問題