我將ViewFlipper
膨脹從佈局資源添加到ListView
作爲Footer
。這是我的腳蹼佈局(詳細略去了):活動已泄露IntentReceiver android.widget.ViewFlipper
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
我用它添加到我的ListView:
mListView.addFooterView(mLoadMoreFlipper);
當我的活動被破壞我看到下面的消息,接着調用堆棧,在logcat中:
Activity com.gk.ItemListActivity has leaked IntentReceiver [email protected]
that was originally registered here. Are you missing a call to unregisterReceiver()?
我做了一些挖了一圈,發現了消息與不註銷接收器,但我還沒有註冊任何。奇怪的是,只有在銷燬前從ListView
中刪除了頁腳ViewFlipper
(通過使用後退按鈕)纔會顯示此消息。我取下頁腳當我不再需要它利用:
mListView.removeFooterView(mLoadMoreFlipper);
我一直在使用一個WeakReference
到ViewFlipper
嘗試,但沒有幫助。我也嘗試設置mLoadMoreFlipper
參考null
但這也沒有幫助。
有沒有人遇到過這個問題?這似乎與我的活動在ViewFlipper
與ListView
脫離後引用ViewFlipper
有關,但我不知道如何明確銷燬ViewFlipper
。
我沒有看到任何會導致代碼在這裏的任何事情。您是否註冊了與頁腳內容有關的任何其他回調或監聽器? – 2012-02-02 00:52:56