Expandable ListView
Estoy utilizando expandableListView para el diseño de la interfaz de usuario, así que me pregunto para Android lista extensible, hay una manera de permitir que sólo un elemento de lista ampliado, es decir, cuando haga clic en y ampliar un elemento, todos los demás elementos se colapsan automáticamente.
Gracias
- cómo establecer el color de texto de webview en android
- Los elementos de ExpandableListView se mezclan
- Ocultar barra de desplazamiento de HorizontalScrollView
- Girar un diseño y después de colocar en relativoLayout prblem
- Barra de búsqueda personalizada con los bordes cortados
- Transferir el enfoque táctil a otra vista
- Consiga enfocado View from ViewPager
- Android ExpandableListView Ocultar grupo
- Cómo obtener un elemento de un niño en ExpandableListView?
- Determina qué VISTA en varias vistas tiene gesto (doble clic, deslizar hacia la izquierda, deslizar hacia la derecha, etc.)?
- ExpandableListView OnGroupCollapseListener - cualquier oyente / observador para ANTES que ocurra el colapso?
- Cómo convertir linearlayout a imagen
- Cómo pasar un valor de cadena a webView de una actividad
Al hacer clic en un elemento, se puede realizar un bucle a través del resto y contraer cada uno excepto el que acaba de hacer clic …
list.setOnGroupExpandListener(new OnGroupExpandListener() { public void onGroupExpand(int groupPosition) { int len = mAdapter.getGroupCount(); for(int i=0; i<len; i++) { if(i != groupPosition) { list.collapseGroup(i); } } } });
Usted podría hacer lo que kieran sugirió, o si sólo tiene uno abierto a la vez, podría hacer un seguimiento de la última vez que hizo clic. Usted podría hacer esto declarando int lastclicked
en el cuerpo de la clase entonces en el oyente como coreano sugirió, puso list.collapseGroup(lastclicked)
Daría un ejemplo de código, pero estoy en mi móvil. Lo siento.
Pero personalmente prefiero el método lastclicked de hacerlo que usar un bucle for. Parece más eficiente.
En primer lugar, implemente OnGroupExpandListener en su Actividad que le permitirá agregar su método predeterminado y, después de agregar ese método predeterminado, debe hacer lo siguiente:
@Override public void onGroupExpand(int groupPosition) { // TODO Auto-generated method stub int len = expadapter.getGroupCount(); for(int i=0;i<len;i++) { if(i!=groupPosition) { expandlst.collapseGroup(i); } } }
- ¿Puedo enlazar un mensaje de error a un TextInputLayout?
- Cuantas AsyncTasks puedo ejecutar en una sola aplicación de proceso