Aggiungo uno ViewFlipper
gonfiato da una risorsa di layout a ListView
come Footer
. Ecco il mio layout flipper (Dettagli omesso per brevità):Attività interrotta IntentReceiver android.widget.ViewFlipper
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
lo aggiungo alla mia ListView utilizzando:
mListView.addFooterView(mLoadMoreFlipper);
Quando la mia attività è distrutto vedo il seguente messaggio, seguito da uno stack di chiamate, in LogCat:
Activity com.gk.ItemListActivity has leaked IntentReceiver [email protected]
that was originally registered here. Are you missing a call to unregisterReceiver()?
ho fatto un po 'scavare intorno e ha scoperto il messaggio è legato alla non l'annullamento della registrazione ricevitori, tranne che non ho registrato alcuna. Stranamente questo messaggio appare solo se il footer ViewFlipper
è stato rimosso dallo ListView
prima della distruzione (usando il pulsante Indietro). Stacco il piè di pagina in cui ho più bisogno esso utilizzando:
mListView.removeFooterView(mLoadMoreFlipper);
Ho provato con un WeakReference
al ViewFlipper
, ma questo non aiuta. Ho anche provato a impostare il riferimento mLoadMoreFlipper
su null
ma questo non aiuta neanche.
Qualcuno ha riscontrato questo problema prima? Questo sembra essere correlato alla mia attività in possesso di un riferimento allo ViewFlipper
dopo che è stato staccato dal ListView
ma non so come distruggere esplicitamente lo ViewFlipper
.
Non vedo nulla che necessariamente causerebbe questo con il codice qui. Registrate altri callback o listener che hanno qualcosa a che fare con il contenuto del footer? –