2 回答

TA貢獻1780條經(jīng)驗 獲得超1個贊
問題是使用,以便在BlackoutFragment上使用倒計時來更新UI。將其替換為似乎已解決了該問題。我的猜測是,在UI線程上運行的經(jīng)過的事件“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條經(jīng)驗 獲得超4個贊
您不應(yīng)將初始 Fragment 添加到回堆棧中,因為這將導致它是可逆事務(wù)。這意味著如果你的初始狀態(tài)是“無片段”,并且你為“no fragment”->“HomeFragment”添加到backstack,那么你可以彈出回“no fragment”狀態(tài)。
只需更改對初始片段的調(diào)用,使其不會將其添加到回堆棧中。
- 2 回答
- 0 關(guān)注
- 98 瀏覽
添加回答
舉報