<dependency> <groupId>me.drakeet.multitype</groupId> <artifactId>multitype</artifactId> <version>4.3.0</version> </dependency> public class User { private String name; } public class Message { private String content; } public class UserAdapter extends ItemViewBinder<User, UserAdapter.ViewHolder> { @NonNull @Override protected ViewHolder onCreateViewHolder(@NonNull LayoutInflater inflater, @NonNull ViewGroup parent) { } @Override protected void onBindViewHolder(@NonNull ViewHolder holder, @NonNull User user) { } static class ViewHolder extends RecyclerView.ViewHolder { // ... } } public class MessageAdapter extends ItemViewBinder<Message, MessageAdapter.ViewHolder> { @NonNull @Override protected ViewHolder onCreateViewHolder(@NonNull LayoutInflater inflater, @NonNull ViewGroup parent) { } @Override protected void onBindViewHolder(@NonNull ViewHolder holder, @NonNull Message message) { } static class ViewHolder extends RecyclerView.ViewHolder { // ... } } MultiTypeAdapter adapter = new MultiTypeAdapter(); adapter.register(User.class, new UserAdapter()); adapter.register(Message.class, new MessageAdapter()); RecyclerView recyclerView = findViewById(R.id.recyclerView); recyclerView.setAdapter(adapter);


上一篇:
下一篇:
切换中文