2012-01-02 7 views
6

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.

+0

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? –

Respuesta

Cuestiones relacionadas