Vista de lista expandida necesaria para expandir la fila una a la vez

Im usando listview expandido en mi proyecto, necesito expandir el listview sólo uno a la vez, es decir, i expandir un elemento y cuando intenta expandir otro elemento en la lista el elemento anterior que se expandió tiene que colapsar y el nuevo elemento ha hecho clic en Para ampliar, las respuestas serán muy apreciadas, estoy tratando con el siguiente fragmento para el oyente de clic.

convertViewpar.setOnClickListener(new OnClickListener() { int i=1; public void onClick(View v) { i = i++; int[] expds = new int[100]; expds[0]=0; expds[i] = groupPosition; if(expds[i]==expds[i-1]){ if(isExpanded) expandlist.collapseGroup(i); else expandlist.expandGroup(i); }else{ expandlist.collapseGroup(i-1); if(isExpanded) expandlist.collapseGroup(i); else expandlist.expandGroup(i); } } }); 

Agregar implementos OnGroupExpandListener en el nivel de clase y en el método onCreate

  listView.setOnGroupExpandListener(this); 

Y agregue este método

 /* * (non-Javadoc) * * @see * android.widget.ExpandableListView.OnGroupExpandListener#onGroupExpand * (int) */ public void onGroupExpand(int groupPosition) { int len = expListAdapter.getGroupCount(); for (int i = 0; i < len; i++) { if (i != groupPosition) { listView.collapseGroup(i); } } } 

Funcionará definitivamente.

Pruebe esta solución. Utilice un Listener de GroupClcik y compruebe en qué posición se hace clic actualmente y colabore todos los demás grupos,

  expList.setOnGroupClickListener(new OnGroupClickListener() { public boolean onGroupClick(ExpandableListView arg0, View arg1, int arg2, long arg3) { int count = yourAdapter.getGroupCount(); for (int i = 0; i <count ; i++) if(arg2!=i) exp.collapseGroup(i); else exp.expandGroup(i); return false; } }); 

O según esta solución, Contraer un grupo de forma programática en ExpandableListView ,

 @Override public void onGroupExpanded(int groupPosition){ //collapse the old expanded group, if not the same //as new group to expand if(groupPosition != lastExpandedGroupPosition){ accordion.collapseGroup(lastExpandedGroupPosition); } super.onGroupExpanded(groupPosition); lastExpandedGroupPosition = groupPosition; } 
  • Ponga a la derecha el indicador de un ExpandableListView en Android
  • Indicador / icono de Android ExpandableListView siempre estirado
  • Android getChildView no se llama después de notifyDataSetChanged
  • Cómo agregar divisores entre los elementos deshabilitados en ListView? - Lollipop
  • Lista extensible del androide de la base de datos en línea
  • Android - Cómo configurar el relleno para TextView en ListView o ExpandableListView
  • Desplazamiento automático en ExpandableListView
  • Android deshabilita desplazamiento automático en la vista de lista expandible
  • ExpandableListView no se actualiza después de que AsyncTask finaliza la ejecución
  • Cambiar icono de la vista de lista ampliable
  • ExpandableListView en Fragmento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.