una sheets que opciones mac lista hoja google desplegable dependiente como calculo agregar android expandablelistview expand collapse

android - sheets - menu desplegable excel



Contraer todo el grupo excepto el grupo seleccionado en la lista desplegable Android (8)

Intente poner esto en su ExpandableListAdapter, listView es una referencia a la ExpandableListView. Y lastExpandedGroupPosition es una variable de miembro entera definida dentro de su ExpandableListAdapter.

@Override public void onGroupExpanded(int groupPosition) { //collapse the old expanded group, if not the same //as new group to expand if(groupPosition != lastExpandedGroupPosition) { listView.collapseGroup(lastExpandedGroupPosition); } super.onGroupExpanded(groupPosition); lastExpandedGroupPosition = groupPosition; }

Estoy desarrollando una aplicación de Android usando una vista de lista expandible. En realidad, lo que necesito es, estoy listando un grupo, que contiene un niño.

Si selecciono un grupo que no se puede expandir, se debe expandir, luego de seleccionar el segundo grupo en ese momento, el primer grupo se colapsará. Hice Google, pero no pude encontrar lo que quiero. Por favor, ayúdame.


Obtenga ExpendableListView y luego anule el siguiente método - setOnGroupExpandListener

expandableListView = (ExpandableListView) findViewById(R.id.exp_listview); expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { int previousItem = -1; @Override public void onGroupExpand(int groupPosition) { if (groupPosition != previousItem) expandableListView.collapseGroup(previousItem); previousItem = groupPosition; } });


Si el ExpandableListView tiene más de 2 grupos:

expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { for (int g = 0; g < expandableListAdapter.getGroupCount(); g++) { if (g != groupPosition) { expandableListView.collapseGroup(g); } } } });

Colapsará todos los grupos, excepto el clickeado.


También me enfrenté al mismo problema. Pero pude resolver mi problema con el siguiente código:

Como tenía 4 encabezados en mi lista ampliable, basándome en lo que escribí como este

expListView.setOnGroupExpandListener(new OnGroupExpandListener() { @Override public void onGroupExpand(int groupPos) { // TODO Auto-generated method stub expListView.collapseGroup(groupPos+1); expListView.collapseGroup(groupPos-1); expListView.collapseGroup(groupPos-2); expListView.collapseGroup(groupPos+2); expListView.collapseGroup(groupPos+3); expListView.collapseGroup(groupPos-3); } });`


Tener la posición del grupo expandido actual almacenada en una variable. En onGroupExpanded haz lo siguiente.

private int lastExpandedPosition = -1; private ExpandableListView lv; //your expandable listview ... lv.setOnGroupExpandListener(new OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { if (lastExpandedPosition != -1 && groupPosition != lastExpandedPosition) { lv.collapseGroup(lastExpandedPosition); } lastExpandedPosition = groupPosition; } });


Use este código, esto funcionará

expandableList.setOnGroupExpandListener(new OnGroupExpandListener() { int previousItem = -1; @Override public void onGroupExpand(int groupPosition) { if(groupPosition != previousItem ) expandableList.collapseGroup(previousItem ); previousItem = groupPosition; } });


elstListView1.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { for(int i=0;i<listDataHeader.size();i++){ if(i==groupPosition){ //do nothing} else{ elstListView1.collapseGroup(i); } } } });


@Override public void onGroupExpanded(int groupPosition){ //collapse the old expanded group, if not the same //as new group to expand if(groupPosition != lastExpandedGroupPosition){ listView.collapseGroup(lastExpandedGroupPosition); } super.onGroupExpanded(groupPosition); lastExpandedGroupPosition = groupPosition; }