Xamarinでテストアプリを開発していて、UIに問題があります。他のアクティビティにナビゲートした後にラベルが更新されなくなりました
アプリは2つのアクティビティで構成されています。まずはFirstとSecondを呼び出します。最初の活動で
一度と呼ばれる、イベントハンドラがあり、ラベルを更新:
Action action = delegate
{
_labelPlaybackStatus.Text = status;
};
RunOnUiThread(action);
アプリを起動すると、(アプリのエントリポイントである)最初のアクティビティが起動され、ラベルはうまく更新されます。アプリがテストデバイスで実行されていて、ラベルが更新されています。
しかし、最初から2番目に移動して最初に戻ると、ラベルの視覚的な更新が停止します。ブレークポイントを設定すると、イベントハンドラがトリガされ、RunOnUiThread(action)
という行が実行されますが、テストデバイスでは視覚的に何も起こりません。ラベルのテキストは変わりません。
両方のアクティビティ間のナビゲーションはStartActivity(intent)
で実行されます。行_labelPlaybackStatus = FindViewById(Resource.Id.labelPlaybackStatus);
は、最初のアクティビティのOnCreateで実行されるため、フィールドは最初に戻ったときに再初期化されます。
何が問題になりますか?
この問題を修正しましたか?私は今それを持っているが、必ずしもそうではない。ときどきラベルがフリーズし、アプリを閉じたり開いたりすると、再び動作するようになります。しかし時々それはちょうど働く。私はそれを起こす方法や理由を知らない。 – Dpedrinha