ViewFlipper
をに配置し、レイアウトリソースからFooter
と追加しました。私が使用して私のリストビューに追加アクティビティが流出しました。IntentReceiver android.widget.ViewFlipper
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
::ここで(詳細は、簡潔にするため省略)私のフリッパーレイアウトだ
私の活動は、私は、コールスタックに続いて、次のメッセージを参照してください破壊され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()?
私はいくつかの周りを掘っていたと私はいずれかを登録していない以外のメッセージは、受信者の登録を解除しないように関係しているが分かりました。奇妙なことに、このメッセージは、フッタViewFlipper
が破棄される前に(戻るボタンを使用して)ListView
から削除された場合にのみ表示されます。私はViewFlipper
にWeakReference
を使用して試してみましたが、それが解決しない
mListView.removeFooterView(mLoadMoreFlipper);
を:私は、もはや使用することによって、それを必要としないとき、私はフッターを切り離します。私もnull
への参照をmLoadMoreFlipper
に設定しようとしましたが、それはどちらも役に立ちません。
誰もこの問題が発生しましたか?これはへの参照を保持している私の活動に関連しているようですが、を明示的に破壊する方法はわかりません。
このコードでは、必ずしもそれを引き起こすことはありません。フッターの内容と関係のある他のコールバックまたはリスナーを登録していますか? –