dependencies { implementation 'com.github.drakeet.multitype:multitype:3.7.4' } public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); MultiType.initialize(new MultiTypeConfigurator()); } } public class News { public String title; public String content; public News(String title, String content) { this.title = title; this.content = content; } } public class NewsBinder extends ItemViewBinder<News, NewsViewHolder> { @NonNull @Override protected NewsViewHolder onCreateViewHolder(@NonNull LayoutInflater inflater, @NonNull ViewGroup parent) { View view = inflater.inflate(R.layout.item_news, parent, false); return new NewsViewHolder(view); } @Override protected void onBindViewHolder(@NonNull NewsViewHolder holder, @NonNull News news) { holder.titleTextView.setText(news.title); holder.contentTextView.setText(news.content); } } MultiType.register(News.class, new NewsBinder()); public class NewsAdapter extends MultiTypeAdapter { public NewsAdapter() { registerDelegate(new NewsBinder()); } public void setNewsList(List<News> newsList) { items = newsList; notifyDataSetChanged(); } }


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