2012-01-02 63 views
6

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から削除された場合にのみ表示されます。私はViewFlipperWeakReferenceを使用して試してみましたが、それが解決しない

mListView.removeFooterView(mLoadMoreFlipper); 

を:私は、もはや使用することによって、それを必要としないとき、私はフッターを切り離します。私もnullへの参照をmLoadMoreFlipperに設定しようとしましたが、それはどちらも役に立ちません。

誰もこの問題が発生しましたか?これはへの参照を保持している私の活動に関連しているようですが、を明示的に破壊する方法はわかりません。

+0

このコードでは、必ずしもそれを引き起こすことはありません。フッターの内容と関係のある他のコールバックまたはリスナーを登録していますか? –

答えて

関連する問題