我有一個活動A,它以一個意圖啓動B。 (B是MapActivity
,並有一些異步代碼)即使我在BackButton上調用FINISH,Android仍會恢復我的活動
我有以下代碼
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
// Log.d(this.getClass().getName(), "back button pressed");
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
這根本不起作用。我的意思是,當我按下手機上的後退按鈕時,當前活動B將消失,並顯示啓動B的活動A.
如果我再按一次啓動B的按鈕,我會看到B正好是我關閉它時的樣子。文本框中的相同文本,相同的地圖位置......所以我認爲活動B並沒有真正關閉。
我怎樣才能關閉它,所以當我再次啓動它時,活動B就像新生兒一樣清澈?
編輯:只是爲了使問題更清楚: 我希望它的工作是這樣的:當用戶在活動B和BACK按鈕被按下,B必須被關閉和銷燬。當用戶再次從A啓動B時,B必須作爲NEW活動啓動,具有空白字段,重置地圖等,...就像用戶首次從A啓動B一樣。
請在onCreate/onPostCreate/onResume上顯示活動B,以及如何從A – logcat 2011-12-15 19:35:31