我正在使用Xamarin开发测试应用程序,我遇到了UI问题。
该应用程序包含两个活动 - 让我们称之为第一和第二。
在First活动中,有一个事件处理程序,一旦被调用,就会更新标签:
Action action = delegate
{
_labelPlaybackStatus.Text = status;
};
RunOnUiThread(action);
当应用程序启动时,将启动第一个活动(作为应用程序的入口点)并且标签更新正常。该应用程序正在测试设备上运行,我可以看到标签更新。
但是如果我从第一个导航到第二个然后返回到第一个 - 标签会在视觉上停止更新。如果我设置断点,我会看到事件处理程序被触发并且行RunOnUiThread(action)
被执行,但在测试设备上可视化没有任何反应 - 标签文本保持不变。
两个活动之间的导航使用StartActivity(intent)
执行。第_labelPlaybackStatus = FindViewById(Resource.Id.labelPlaybackStatus);
行在第一个活动的OnCreate中执行,因此该字段在返回First时重新初始化。
可能是什么问题?
答案 0 :(得分:0)
仅在创建活动时调用OnCreated。 我不确定,但我认为您的 _labelPlaybackStatus 变量存在问题,因为您在 OnCreated
中填充了它您可以将代码置于 OnRreated 的 OnCreated 下,它可以解决您的问题。