Created
August 29, 2017 16:15
-
-
Save sajadshokri/658d224b99afa9f2e82486181db76c3c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { | |
RecyclerView.ViewHolder viewHolder; | |
LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext()); | |
switch (viewType) { | |
case USER: | |
View v1 = inflater.inflate(R.layout.layout_viewholder1, viewGroup, false); | |
viewHolder = new ViewHolder1(v1); | |
break; | |
case IMAGE: | |
View v2 = inflater.inflate(R.layout.layout_viewholder2, viewGroup, false); | |
viewHolder = new ViewHolder2(v2); | |
break; | |
... | |
} | |
return viewHolder; | |
} | |
@Override | |
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { | |
switch (viewHolder.getItemViewType()) { | |
case USER: | |
ViewHolder1 vh1 = (ViewHolder1) viewHolder; | |
configureViewHolder1(vh1, position); | |
break; | |
case IMAGE: | |
ViewHolder2 vh2 = (ViewHolder2) viewHolder; | |
configureViewHolder2(vh2, position); | |
break; | |
..... | |
} | |
} | |
//Returns the view type of the item at position for the purposes of view recycling. | |
@Override | |
public int getItemViewType(int position) { | |
if (items.get(position) instanceof User) { | |
return USER; | |
} else if (items.get(position) instanceof String) { | |
return IMAGE; | |
} | |
return -1; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment