2 回答

TA贡献1780条经验 获得超1个赞
问题是使用,以便在BlackoutFragment上使用倒计时来更新UI。将其替换为似乎已解决了该问题。我的猜测是,在UI线程上运行的经过的事件“RefreshView”在尝试离开片段时引起了一些趣味。System.Timers.TimerSystem.Threading.Timer
所以替换:
public override void OnResume()
{
base.OnResume();
//...
_refreshTimer = new System.Timers.Timer();
_refreshTimer.Interval = 1000;
_refreshTimer.Elapsed += RefreshView;
_refreshTimer.Start();
}
public override void OnPause()
{
base.OnPause();
//...
_refreshTimer.Dispose();
}
跟:
public override void OnResume()
{
base.OnResume();
//...
_refreshTimer = new System.Threading.Timer(RefreshView, null, 0, 1000);
}
public override void OnPause()
{
base.OnPause();
//...
_refreshTimer.Dispose();
}
解决了我的问题。

TA贡献1785条经验 获得超4个赞
您不应将初始 Fragment 添加到回堆栈中,因为这将导致它是可逆事务。这意味着如果你的初始状态是“无片段”,并且你为“no fragment”->“HomeFragment”添加到backstack,那么你可以弹出回“no fragment”状态。
只需更改对初始片段的调用,使其不会将其添加到回堆栈中。
- 2 回答
- 0 关注
- 103 浏览
添加回答
举报