@Override
 public View getView(int i, View view, ViewGroup viewGroup) {
   View convertView = mInnerAdapter.getView(i, view, viewGroup);
   mViewToItemIdMap.put(convertView, getItemId(i));
   mHeaderIdToViewMap.add((int) getHeaderId(i), convertView);
   if (mCollapseHeaderIds.contains(getHeaderId(i))) {
     convertView.setVisibility(View.GONE);
   } else {
     convertView.setVisibility(View.VISIBLE);
   }
   return convertView;
 }
 public List<View> getItemViewsByHeaderId(long headerId) {
   return mHeaderIdToViewMap.get((int) headerId);
 }