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 關注
- 91 瀏覽
添加回答
舉報