在創建片段時,我遇到了getActivity()爲null。 所以爲了縮小這個問題,我在onAttach(活動活動)中保留了一個活動的本地副本,根據定義,它是附加到活動的時間。onAttach活動爲空
但是,我在onAttach中記錄了活動,但它仍然爲空。
我只在2.3.6及以下版本遇到這個問題。
這是支持包的已知問題嗎?
在創建片段時,我遇到了getActivity()爲null。 所以爲了縮小這個問題,我在onAttach(活動活動)中保留了一個活動的本地副本,根據定義,它是附加到活動的時間。onAttach活動爲空
但是,我在onAttach中記錄了活動,但它仍然爲空。
我只在2.3.6及以下版本遇到這個問題。
這是支持包的已知問題嗎?
這個問題是因爲支持包就意味着該片段是在Android 3.0及以上即API級別11和UP所以確保你將面臨崩潰的應用程序爲Android 2.3.6 gingerbird
this.getActivity();
被稱爲將片段恢復到恢復狀態的一系列方法是:
bold方法應該是getActivity不再返回null的方法。
onAttach方法不應該用來調用活動對象的方法,它應該用來初始化回調接口。這些接口的一個例子可以參見here。
事實是,它是空的。我確定先調用super.onAttach,然後跟蹤onAttach參數中的活動,它是空的。這是2.3.6用戶中的一小部分,這讓我懷疑它是一個錯誤。 getActivity(),不僅僅在onActivityCreated(Bundle)上,而且一直到onResume,都顯示爲null,這是促使我首先在onAttach上跟蹤的原因。 – 2013-03-21 16:53:47
我一直在大量的2.x設備上運行類似的代碼。我曾經有類似的空指針,但是通過將一些代碼移動到onResume()來解決這些問題。 – Tobrun 2013-03-21 16:56:32
然後在onAttach中初始化偵聽器的時候,它們可能會從null初始化並因此保持null本身。 – 2016-04-01 07:13:42
旋轉設備後會發生這種情況嗎?無論如何,如果你等待'onActivityCreated()'會發生什麼? – Sam 2013-03-21 16:42:30
這個應用程序特別禁用了旋轉。 onActivityCreated()仍然具有getActivity()作爲null,因爲之前我保留了一個本地副本來找出它的空位置。我的用戶界面操作方式已經過去了,getActivity()仍然是空的。 – 2013-03-21 16:45:17