Quitar vista de MergeAdapter
¿Es posible quitar la vista o el adaptador de MergeAdapter
alguna manera? Me gustaría tratar de ampliar y quitar la vista de pieces
pero es private
. O tal vez hay una solución alternativa para mostrar / ocultar vista en este adaptador? Intenté fijar su layout_height
a cero y visibilidad a View.GONE
, pero todavía muestra el artículo vacío de la lista. Gracias por adelantado.
- Utilizar MergeAdapter; buscando una manera de determinar el tipo de datos de un elemento de lista en el método ListActivity onListItemClicked
- ¿Cómo escoge gradle ciertas urls para buscar un repositorio? ¿Cómo lo apunto en la dirección correcta para que pueda importar este JAR?
- Loader: onLoadFinished sólo se llama una vez
- La calidad de vista previa de la cámara en Android es mala
- Marco del cargador vs AsyncTask simple
- Obtener SQLiteCursorLoader para observar los cambios de datos
- Por el poder de MergeAdapter, StickyListHeaders y ListViewAnimations combinados Soy el capitán Android
- Enviar mensaje a un manejador en un hilo muerto al obtener una ubicación de un IntentService
- ListView aleatorio IndexOutOfBoundsException en Froyo
- WakefulIntentService aclaraciones de implementación
- Gridview sin fin
- Guardar / recuperar el "Rich Formatted Text" en la base de datos sin perder su formato
- Combinar múltiples RecyclerView.Adapter para usar con RecyclerView único (Android)
Para quitar una vista o un adaptador de MergeAdapter
utilice los métodos siguientes:
setActive()
en la instancia mergeAdapter.
Por ejemplo: Para quitar una Textview
(mytextView) de un MergeAdapter
(merAdapter) utilice:
merAdapter.setActive(mytextViiew,false);
Y para habilitarlo de nuevo (para hacerlo visible) use:
merAdapter.setActive(mytextViiew,true);
Consulte la documentación MergeAdapter
para obtener detalles:
¿Es posible quitar la vista o el adaptador de MergeAdapter de alguna manera?
No en la actualidad, lo siento. No debería ser demasiado difícil de agregar (quítelo de la colección y llame a notifyDataSetChanged()
para actualizar el AdapterView
) si usted quería tomar un tiro en él. ¡Las contribuciones son bienvenidas! Todos los derechos reservados
Su MergeAdapter debe tener el método llamado getCount()
.. si he entendido bien, devolver cero desde allí puede resolver su problema ..
Expandiendo la respuesta de Mark Murphy, creo que esto es tan simple como añadir este método a MergeAdapter:
public void removeAdapter(ListAdapter la) { pieces.remove(la); }
remove()
toma un objeto y hará todas las pruebas y eliminación necesarias para usted, si ese objeto está contenido en la lista de piezas. Podrías hacer de este regreso un bool o algo para tus propósitos, pero yo no tenía esa necesidad.
Entonces solo llame algo como:
int view_to_remove = *AN_INT* adapter.removeAdapter(listAdapter.getAdapter(view_to_remove)); adapter.notifyDataSetChanged();