Estoy agregando un ViewFlipper
inflado de un recurso de diseño en un ListView
como Footer
. Aquí está mi diseño de aleta (detalles omitidos por razones de brevedad):Actividad se ha filtrado IntentReceiver android.widget.ViewFlipper
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
lo añado a mi ListView usando:
mListView.addFooterView(mLoadMoreFlipper);
Cuando mi actividad se destruye veo el siguiente mensaje, seguido de una pila de llamadas, en LogCat:
Activity com.gk.ItemListActivity has leaked IntentReceiver [email protected]
that was originally registered here. Are you missing a call to unregisterReceiver()?
hice algo de investigación alrededor y descubrí que el mensaje no está relacionada con la anulación del registro receptores, excepto que no he registrado ninguna. Curiosamente, este mensaje solo aparece si el pie de página ViewFlipper
se ha eliminado del ListView
antes de su destrucción (utilizando el botón Atrás). Me separo el pie de página cuando ya no lo necesite mediante el uso de:
mListView.removeFooterView(mLoadMoreFlipper);
He intentado usar un WeakReference
a la ViewFlipper
pero eso no ayuda. También intenté establecer la referencia mLoadMoreFlipper
en null
, pero eso tampoco ayuda.
¿Alguien ha encontrado este problema antes? Esto parece estar relacionado con mi actividad que contiene una referencia al ViewFlipper
después de que se ha desprendido del ListView
, pero no sé cómo destruir explícitamente el ViewFlipper
.
No veo nada que necesariamente cause eso con el código aquí. ¿Registra alguna otra devolución de llamada u oyentes que tengan algo que ver con el contenido del pie de página? –