https://developer.android.com/intl/ko/training/material/lists-cards.html If you look here
When you make RecyclerView, you include ViewHolder in RecyclerView.Adapter like the code below.public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private String[] mDataset;
public MyAdapter(String[] myDataset) {
mDataset = myDataset;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(TextView v) {
super(v);
mTextView = v;
}
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.some_layout, parent, false);
//findViewById...
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mTextView.setText(mDataset[position]);
}
@Override
public int getItemCount() {
return mDataset.length;
}
}
My question is, can I put multiple view types in RecyclerView?
user-interface android recyclerview
Yes, it's possible. You only need to implement getItemViewType(). And you can specify the viewType in onCreateViewHolder().
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
class ViewHolder0 extends RecyclerView.ViewHolder {
...
}
class ViewHolder2 extends RecyclerView.ViewHolder {
...
}
@Override
public int getItemViewType(int position) {
// // Just as an example, return 0 or 2 depending on position
// // Note that unlike in ListView adapters, types don't have to be contiguous
return position % 2 * 2;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case0: return newViewHolder0(...); //ViewType1
case 2: return new View Holder2(...); //2 view type
...
}
}
}
3079 When building Fast API+Uvicorn environment with PyInstaller, console=False results in an error
1949 I want to connect to the webcam from WSL(ubuntu)
2562 I want to display multiple lines with FFmpeg subtitles.
1749 Error in x, y, and format string must not be None
1788 Uncaught (inpromise) Error on Electron: An object could not be cloned
© 2026 OneMinuteCode. All rights reserved.