Android recycleview 二级列表(2)
recycleview适配器:
public class HealthArticleRecyclerViewAdapter extends SecondaryListAdapter<HealthArticleRecyclerViewAdapter.GroupItemViewHolder,HealthArticleRecyclerViewAdapter.SubItemViewHolder> {
private Context context;
private List<DataTree<HealthArticle, HealthArticle>> dts = new ArrayList<>();
public HealthArticleRecyclerViewAdapter(Context context) {
this.context = context;
}
public void setData(List datas) {
dts = datas;
notifyNewData(dts);
}
@Override
public RecyclerView.ViewHolder groupItemViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.healthy_article_groupitems, parent, false);
return new GroupItemViewHolder(v);
}
@Override
public RecyclerView.ViewHolder subItemViewHolder(ViewGroup parent) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.healthy_article_subitems, parent, false);
return new SubItemViewHolder(v);
}
@Override
public void onGroupItemBindViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
((GroupItemViewHolder) holder).tvGroup.setText(dts.get(groupItemIndex).getGroupItem().getTitle());
}
@Override
public void onSubItemBindViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex) {
((SubItemViewHolder) holder).tvSub.setText(dts.get(groupItemIndex).getSubItems().get(subItemIndex).getTitle());
}
@Override
public void onGroupItemClick(Boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
if (groupItemIndex==0){
}
// Toast.makeText(context, "group item " + String.valueOf(groupItemIndex) + " is expand " +
// String.valueOf(isExpand), Toast.LENGTH_SHORT).show();
}
@Override
public void onSubItemClick(SubItemViewHolder holder, int groupItemIndex, int subItemIndex) {
// Toast.makeText(context, "sub item " + String.valueOf(subItemIndex) + " in group item " +
// String.valueOf(groupItemIndex), Toast.LENGTH_SHORT).show();
}
public static class GroupItemViewHolder extends RecyclerView.ViewHolder {
TextView tvGroup;
public GroupItemViewHolder(View itemView) {
super(itemView);
tvGroup = (TextView) itemView.findViewById(R.id.tv_article_groupitems);
}
}
public static class SubItemViewHolder extends RecyclerView.ViewHolder {
TextView tvSub;
public SubItemViewHolder(View itemView) {
super(itemView);
tvSub = (TextView) itemView.findViewById(R.id.tv_article_subitems);
}
}
}