2011-03-22 51 views
0

我有活動A,用startActivityForResult調用活動B.將活動的返回鍵傳遞給調用者

我處理與onActivityResult其結果執行操作X刷新活動A.

的問題是,當用戶按下活動返回鍵的B活性的執行動作,因爲它取消正在處理後退鍵事件。

也就是說,後退鍵事件也在活動A中處理......爲什麼?

應用程序是針對API 4.

感謝

+1

你是說你的活動A也被從活動堆棧中移回時從活動堆棧中移除? – 2011-03-22 13:55:07

+0

沒有,在活性的處理程序也接收finnished活動B. – 2011-03-24 13:49:36

回答

0

來解決,這是重新定義你的活動B onKeyDown()/onKeyUp()通話的最快方法,不叫super.onKeyDown()當您收到回鍵,只是finishActivity()

+0

它不工作... 我加 '@覆蓋 \t公共布爾的onkeyup(INT的keyCode,KeyEvent的事件){ \t返回鍵事件\t \t 如果\t(鍵代碼== KeyEvent.KEYCODE_BACK){ \t \t \t光潔度(); \t \t \t return true; \t \t} else { \t \t \t return super.onKeyUp(keyCode,event); \t \t} \t} ' 並且活動A也接收後退鍵事件。 – 2011-03-24 13:56:56