2012-01-02 62 views
1

我有一個ActivityGroup與幾個子活動。ActivityGroup的兒童活動只是「有時」調用onBackPressed()

最近我發現onBackPressed方法並不總是在子Activity上調用,而是在父Activity(activityGroup)中調用。

經過一些測試後,我發現onBackPressed只有在兒童有聚焦的EditText時纔會被調用。如果EditText沒有被聚焦,或者沒有EditText(即使有其他控件,如按鈕或複選框),它也不會被調用。

如果孩子收到這個調用,那麼父母不會。

有誰知道爲什麼活動的行爲改變?是否有一些方法可以在子Activity上執行,以便始終獲得此焦點並獲得onBackPressed方法首選項?

回答

1

那麼最簡單的實現是創建一個方法,該方法可以由parent-> currentChild或當後退按鈕被按下時由子進行調用。

+0

謝謝htafoya ...我在我的應用程序中遇到了同樣的問題。我通過這篇文章解決了這個問題。 – 2012-12-12 10:55:33

0

新年希望你也htafoya ....確保你已經定義onBackPressed函數外的onCreate函數。很多時候,你已經在onCreate函數的循環中聲明瞭onBackPressed。