4
解決!後退按鈕關閉兩個活動?
我的活動堆棧看起來像這樣,請原諒圖表!
A-->B-->C
'-->D
如果我按回到活動B
按鈕,我回去A
預期。
但是,如果我按下活動C
或D
中的按鈕,我將返回A而不是B
。 在我的腦海裏,這可以通過兩件事情
1)當它打開了C
或D
2的意圖活動B
退出引起的)的後退按鈕以某種方式被稱爲兩次?
我仔細觀察了活動B
中的點擊聽衆,他們開始期望在那裏找到finish()
呼叫,但是沒有。
我還檢查onBackPressed()
活動方法C
和D
以查看我是否手動打開活動A ...但我不是。
這裏的活動A
protected void onResume() {
super.onResume();
screenOn(SCREEN_ON_DURATION);
mWakeLock.acquire();
}
這裏的方法的onResume就是我開始意圖C和d
Bundle info = new Bundle();
info.putString("classId", ""+classId);
Intent intent = new Intent(Notebook.this, StudentChooser.class);
intent.putExtras(info);
Notebook.this.startActivity(intent);
誰能幫助的方式嗎?
編輯:我發現我的onUserLeaveHint()完成()這就是問題所在!
你可以在模擬器內部複製這個問題嗎?確保您的設備正常。你是否在任何地方重寫onBackPressed()或onResume()? – ntkachov
你提出了什麼意圖參數活動B?也許你從堆棧中刪除它? – xandy
還有一點要檢查:B的onActivityResult。如果你用'startActivityForResult()'和B的'onActivityResult()'調用'finish()'來打開D,當D關閉時B將被關閉。 – kingori