我正在添加一个ViewFlipper从布局资源膨胀到ListView一个Footer.这是我的鳍状肢布局(为简洁起见,省略了详细信息):
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
Run Code Online (Sandbox Code Playgroud)
我使用以下命令将其添加到ListView:
mListView.addFooterView(mLoadMoreFlipper);
Run Code Online (Sandbox Code Playgroud)
当我的活动被销毁时,我在LogCat中看到以下消息,后跟一个调用堆栈:
Activity com.gk.ItemListActivity has leaked IntentReceiver android.widget.ViewFlipper$1@44c84ab0
that was originally registered here. Are you missing a call to unregisterReceiver()?
Run Code Online (Sandbox Code Playgroud)
我做了一些挖掘,发现消息与不注销接收器有关,除了我没有注册任何.奇怪的是,如果页脚ViewFlipper已从ListView销毁前删除(通过使用后退按钮),则仅显示此消息.当我不再需要它时,我使用以下方法分离页脚:
mListView.removeFooterView(mLoadMoreFlipper);
Run Code Online (Sandbox Code Playgroud)
我已经使用尝试WeakReference的ViewFlipper,但这样做没有帮助.我也试过设置mLoadMoreFlipper引用,null但这也无济于事.
以前有人遇到过这个问题吗?这似乎与我的活动有关,ViewFlipper在它被分离之后持有引用,ListView但我不知道如何明确地销毁它ViewFlipper.
| 归档时间: |
|
| 查看次数: |
3855 次 |
| 最近记录: |