傍晚,當點擊後退按鈕時,請致電onrestart/onresume
我正面臨一個我無法修復的小問題。我有一個「基本」活動(名稱:TestActivity
,延伸ActivityGroup
),其中包含歷史數組列表。每當我要進行新的活動時,我都會使用以下位來加載新視圖。
Intent intent = new Intent(Start.this, CitySelect.class);
View view = TestActivity.group.getLocalActivityManager().startActivity("cityselect", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
TestActivity.group.replaceView(view);
正如你可以看到我打電話replaceView
方法「替換」的觀點。見下面的代碼:
public void replaceView(View v)
{
history.add(v);
setContentView(v);
}
在每一個活動,我重寫onBackPressed
:
public void back()
{
if (history.size() > 0)
{
history.remove(history.size() - 1);
if (history.size() > 0)
{
View v = history.get(history.size() - 1);
setContentView(v);
}
else
{
finish();
}
}
else
{
finish();
}
}
現在問題來了:
@Override
public void onBackPressed()
{
TestActivity.group.back();
}
爲back
方法見下文當我使用手機上的後退按鈕,以前的活動進入前臺,在視圖(活動)中將不會調用任何內容。當我按照活動生活cyle,我認爲onResume
將被稱爲,但事實並非如此。什麼都沒發生。
所以問題是:當我按下後退按鈕時,如何調用onResume
方法?
你是什麼意思'沒有任何反應'?你是否正在檢查'onDestroy'是否被調用? – Craigy
'onDestroy'沒有被調用,但'onPaused'。 –
我必須更具體;當我替換視圖時會調用'onPaused'。我的意思是'沒有任何反應'是當前一個視圖回到前景時沒有函數被調用。我期望'onResume'會被調用,但事實並非如此。 –