public static View getChildItemView(Context context, FloatingGroupExpandableListView listView, int groupPosition, int childPosition) {
long packedPosition = ExpandableListView.getPackedPositionForChild(groupPosition, childPosition);
int flatPosition;
try {
flatPosition = listView.getFlatListPosition(packedPosition);
} catch (Exception e) {
e.printStackTrace();
return null;
}
int firstPosition = listView.getFirstVisiblePosition();
int wantedChild = flatPosition - firstPosition;
if (wantedChild < 0 || wantedChild >= listView.getChildCount()) {
return null;
}
View childItemView = listView.getChildAt(wantedChild);
childItemView.setTag(R.id.anim, AnimationUtils.loadAnimation(context, R.anim.slide_left_out));
return childItemView;
}
public static View getItemView(Context context, ListView listView, int position) {
int firstPosition = listView.getFirstVisiblePosition() - listView.getHeaderViewsCount();
int wantedChild = position - firstPosition;
if (wantedChild < 0 || wantedChild >= listView.getChildCount()) {
return null;
}
View wantedView = listView.getChildAt(wantedChild);
wantedView.setTag(R.id.anim, AnimationUtils.loadAnimation(context, R.anim.slide_left_out));
return wantedView;
}
public static void clearListViewAnim(Context context, ListView listView) {
int first = listView.getFirstVisiblePosition();
int count = listView.getChildCount() + 2;
for (int i = first; i < first + count; i++) {
View itemView = getItemView(context, listView, i);
if (itemView != null) {
itemView.clearAnimation();
}
}
}