안녕하세요..

ExpandableList에서 item을 삭제시에 null point exception 이 발생하여 문의합니다.

onCreate에서 

mAdapter = new BuddyListExpAdapter(

this,

groupData,

R.layout.buddy_list_parent,

// R.layout.buddy_list_parent,

new String[] { NAME, TEAM },

new int[] { R.id.rowText1,

R.id.rowText2, R.id.presenceImg },

childData,

R.layout.buddy_list_child,

// R.layout.buddy_list_child,

new String[] { NAME, TEAM },

new int[] { R.id.rowText1, R.id.rowText2, R.id.presenceImg }

);            

setListAdapter(mAdapter);


위와 같이 설정을 하였습니다.


groupData에 Group정보가 childData에 각 그룹의 chid데이터가 들어 잇습니다.


child 데이터를 삭제를 하고 childData를 새롭게 구성한 후에 

BuddyListExp.this.getExpandableListView().invalidateViews();

로 화면 업데이트를 하게 되면 삭제된 인덱스를 접근을 하게 되어 null point exception이 발생을 하게 됩니다.

그런데, 삭제된 데이터를 새롭게 구성하고 setListAdapter를 한번 불러주게 되면 null point exception은 발생하지 않으나,
expand 되었던 그룹이 모두 닫혀 버리는 현상이 있습니다.

expand 된 화면은 모두 열어 둘 수 있는 방법이 있는지요?