Question

I was struggling with collapsing a group in expandable list view, the thing i need is, i need to collapse all group except selected group. I tried below code, its working when current position is less than previous position, in vice-versa i'm getting a fatal exception and also i'm unable to caught it.

elv.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {

     @Override
    public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {


          if (lastExpandedGroupPosition != -1 && groupPosition != lastExpandedGroupPosition) {
            if(lastExpandedGroupPosition>groupPosition){
                  elv.collapseGroup(lastExpandedGroupPosition);
               }else{
                    Log.v("last expand value", ""+lastExpandedGroupPosition);
                        Log.v("groupPosition", ""+groupPosition);
                        Log.v("count", ""+elv.getCount());

                 elv.collapseGroup(lastExpandedGroupPosition);

                    }
                }
               lastExpandedGroupPosition = groupPosition;

                return false;
            }
        });
Était-ce utile?

La solution

I solved this by changing setOnGroupClickListener to setOnGroupExpandListener

 elv.setOnGroupExpandListener(new OnGroupExpandListener() {

@Override
public void onGroupExpand(int groupPosition) {
    // TODO Auto-generated method stub
if (lastExpandedGroupPosition != -1 && groupPosition != lastExpandedGroupPosition) {
           if(lastExpandedGroupPosition>groupPosition){
                  elv.collapseGroup(lastExpandedGroupPosition);
                    }else{
                    Log.v("last expand value", ""+lastExpandedGroupPosition);
                        Log.v("groupPosition", ""+groupPosition);
                        Log.v("count", ""+elv.getCount());

                     elv.collapseGroup(lastExpandedGroupPosition);


                    }
                }
                lastExpandedGroupPosition = groupPosition;
            }
        });
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top