|
public class MainAdapter extends RecyclerView.Adapter< MainAdapter.ViewHolder > { |
|
|
|
private ArrayList< Group > groups = new ArrayList<> (); |
|
|
|
private static final int TYPE_IMAGE = 0; |
|
private static final int TYPE_GROUP = 1; |
|
|
|
@Override |
|
public int getItemViewType ( int position ) { |
|
|
|
int viewType; |
|
if ( groups.get ( position ).getImagePath () != null ) { |
|
viewType = TYPE_IMAGE; |
|
|
|
} else { |
|
viewType = TYPE_GROUP; |
|
} |
|
|
|
return viewType; |
|
} |
|
|
|
@Override |
|
public ViewHolder onCreateViewHolder ( ViewGroup viewGroup, int viewType ) { |
|
|
|
LayoutInflater mInflater = LayoutInflater.from ( viewGroup.getContext () ); |
|
switch ( viewType ) { |
|
|
|
case TYPE_IMAGE: |
|
ViewGroup vImage = ( ViewGroup ) mInflater.inflate ( R.layout.item_image, viewGroup, false ); |
|
ImageHolder vhImage = new ImageViewHolder ( vImage ); |
|
return vhImage; |
|
case TYPE_GROUP: |
|
ViewGroup vGroup = ( ViewGroup ) mInflater.inflate ( R.layout.item_group, viewGroup, false ); |
|
GroupViewHolder vhGroup = new GroupViewHolder ( vGroup ); |
|
return vhGroup; |
|
default: |
|
ViewGroup vGroup0 = ( ViewGroup ) mInflater.inflate ( R.layout.item_group, viewGroup, false ); |
|
GroupViewHolder vhGroup0 = new GroupViewHolder ( vGroup0 ); |
|
return vhGroup0; |
|
} |
|
} |
|
|
|
@Override |
|
public void onBindViewHolder ( ViewHolder viewHolder, int i ) { |
|
|
|
switch ( viewHolder.getItemViewType () ) { |
|
|
|
case TYPE_IMAGE: |
|
|
|
ImageViewHolder imageViewHolder = ( ViewHolderGuide ) viewHolder; |
|
|
|
imageViewHolder.mImage.setImageResource ( R.drawable.img_placeholder ); |
|
break; |
|
|
|
case TYPE_GROUP: |
|
|
|
GroupViewHolder groupViewHolder = ( GroupViewHolder ) viewHolder; |
|
|
|
groupViewHolder.mContent.setText ( groups.get ( i ).getContent() ); |
|
groupViewHolder.mTitle.setText ( groups.get ( i ).getTitle () ); |
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
@Override |
|
public int getItemCount () { |
|
|
|
return groups.size (); |
|
} |
|
|
|
public MainAdapter ( List< Group > groups ) { |
|
|
|
this.groups = new ArrayList<> ( groups ); |
|
|
|
} |
|
|
|
} |
This comment has been minimized.
What is ViewHolderGuide?