我有一個TabActivity,顯示其他Activities作爲基於選擇哪個選項卡的內容。我想要做的是從'父'活動嘗試捕獲後退按鍵,但在父母中都不會調用onKeyDown()和onBackPressed() ...它正在由「子」活動處理。有沒有辦法讓它通過「父」活動?onKeyDown或onBackPressed在父活動中
3
A
回答
7
:
@Override
public void onBackPressed() {
this.getParent().onBackPressed();
}
2
你可以在TabActivity和他的孩子之間建立一個通信程序。
我在TabActivity中創建了一個靜態的Handler,它是在TabActivity的onCreate中初始化的。
然後我創建了一個靜態getHandler()方法(在TabActivity中)。爲什麼不直接使用,從孩子的活動中
@Override
public void onBackPressed() {
MyTabActivity.getHandler().sendEmptyMessage(MyTabActivity.BACK_PRESSED);
}
+0
@ShadowCloud解決方案也適用。 – 2011-05-16 15:15:51
2
我也遇到同樣的問題,以及
現在一個片段來實現你的問題要問你的孩子會。我這樣說:
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
{
//things u want to do when back key pressed
}
return super.dispatchKeyEvent(event);
}
相關問題
- 1. onKeyDown()或onBackPressed()
- 2. onBackPressed()到父項活動
- 3. onBackPressed在活動
- 4. OnKeyDown和OnBackPressed組合
- 5. 發送數據到父母活動onBackPressed
- 6. onBackPressed和onKeyDown不工作
- 7. 無法覆蓋onBackPressed onKeyDown - Android
- 8. onKeyDown和onKeyUp會阻止onBackPressed
- 9. 活動 - OnbackPressed問題
- 10. onBackPressed方法的onkeydown不正常
- 11. Xamarin活動OnBackPressed()不開火
- 12. onBackPressed - 避免破壞活動
- 13. onBackPressed()完成我的活動
- 14. onBackPressed()不調用新活動
- 15. onBackPressed()應該調用以前的活動的onBackPressed()
- 16. Android onKeyDown返回主要活動
- 17. ANDROID onBackPressed不適用於活動
- 18. onBackPressed隱藏不破壞活動
- 19. onBackpressed()第一次去同樣的活動
- 20. onBackPressed將用戶帶回主要活動
- 21. 從片段onBackPressed顯示活動兩次
- 22. 在OnBackPressed中使用moveTaskToBack,仍然銷燬活動
- 23. onBackPressed在一個活動中殺死一個處理程序 - Android
- 24. Android更新在另一個活動上調用onBackPressed時的活動
- 25. Android父活動
- 26. 從父活動
- 27. 返回父活動與父活動中的錯誤清單
- 28. 需要檢查一個活動是否有父活動存在或不存在
- 29. 片段活動捕捉onKeyDown和在片段
- 30. onBackPressed不關閉Android中的當前活動
我不喜歡不得不從每個孩子那裏調用它,但是這樣做很好。謝謝。 – 2011-05-16 15:45:40