【发布时间】:2020-04-12 10:09:16
【问题描述】:
我在一个数组列表中有多个数组列表:
[[Object1, Object2],[Object3, Object4],[Object5, Object6]]
我在一次显示一个数组列表的回收视图中显示第一个数组列表:
myViewHolder.bindTo(cities.get(0).get(i));
我想单击另一个类中的一个按钮,该按钮将显示更改显示的数组列表。我将如何实现这一目标?
Recycler View 适配器类:
private List<List<Country>> cities;
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
PlannerItemBinding plannerItemBinding =
DataBindingUtil.inflate(LayoutInflater.from(viewGroup.getContext()), R.layout.planner_item, viewGroup, false);
return new MyViewHolder(plannerItemBinding);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
myViewHolder.bindTo(cities.get(0).get(i));
}
@Override
public int getItemCount() {
if (cities != null) {
return cities.size();
} else {
return 0;
}
}
public void setCityList(List<List<Country>> cities) {
this.cities = cities;
notifyDataSetChanged();
}
class MyViewHolder extends RecyclerView.ViewHolder {
private PlannerItemBinding plannerItemBinding;
public MyViewHolder(@NonNull PlannerItemBinding plannerItemBinding) {
super(plannerItemBinding.getRoot());
this.plannerItemBinding = plannerItemBinding;
}
void bindTo(Country country) {
plannerItemBinding.setVariable(com.example.planner.BR.city, country);
plannerItemBinding.setVariable(com.example.planner.BR.adapterPosition, getLayoutPosition());
plannerItemBinding.setVariable(com.example.planner.BR.countryImageMedium, country.getImages().get(0).getSizes().getMedium());
plannerItemBinding.executePendingBindings();
}
}
}
【问题讨论】:
标签: java android arrays android-recyclerview