最佳答案
您可以使用 ExpandableRecyclerView
。
通过在类的定义中包含您的 GroupViewHolder 和 ChildViewHolder,您将看到 onCreateGroupViewHolder 和 onCreateChildViewHolder 方法返回正确的类型:+1:
public class GenreAdapter extends ExpandableRecyclerViewAdapter<GenreViewHolder, ArtistViewHolder> {
public GenreAdapter(List<? extends ExpandableGroup> groups) {
super(groups);
}
@Override
public GenreViewHolder onCreateGroupViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.list_item_genre, parent, false);
return new GenreViewHolder(view);
}
@Override
public ArtistViewHolder onCreateChildViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.list_item_artist, parent, false);
return new ArtistViewHolder(view);
}
@Override
public void onBindChildViewHolder(ArtistViewHolder holder, int flatPosition, ExpandableGroup group,
int childIndex) {
final Artist artist = ((Artist) group).getItems().get(childIndex);
holder.setArtistName(artist.getName());
}
@Override
public void onBindGroupViewHolder(GenreViewHolder holder, int flatPosition,
ExpandableGroup group) {
holder.setGenreTitle(group);
}
}
请查看以下 GitHub 存储库以获取有关如何实现的完整指南,
你得到的结果如下图所示,
关于java - 如何在单击列表中父级的特定项目时扩展子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47987687/