【发布时间】:2020-06-24 04:02:11
【问题描述】:
我正在尝试构建一个 android 应用程序,该应用程序将从 api 接收流派和电影列表。 我想根据流派列表的大小制作包含 X 数量的 RecyclerViews 的 RecyclerView。 流派列表可以从调用更改为调用,因为可以在后端添加更多流派,所以我想以编程方式创建一个 RecyclerViews。 我已经创建了一个包含流派回收器视图的主回收器视图。 我向适配器发送了流派列表。 在主回收器视图项中,创建另一个回收器视图,其中将包含此类型的电影。 但是在这里我停止了 =]] 不知道如何从这里继续填充回收站视图。 有什么建议吗?
genres = new ArrayList<>();
genres.add(new Genre(0, "Action"));
genres.add(new Genre(1, "Drama"));
movies = new ArrayList<>();
movies.add(new Movie("Titanic", "Test movie titanic", 0));
movies.add(new Movie("Titanic", "Test movie titanic", 1));
主recyclerview的适配器:
public class MainRVAdapter extends RecyclerView.Adapter<MainRVAdapter.MainViewHolder> {
private List<Genre> genres;
public MainRVAdapter(List<Genre> genres) {
this.genres = genres;
}
@NonNull
@Override
public MainViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.main_recycler_view_item, parent, false);
return new MainViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MainViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return genres.size();
}
public class MainViewHolder extends RecyclerView.ViewHolder {
private RecyclerView mainRecyclerView;
public MainViewHolder(@NonNull View itemView) {
super(itemView);
mainRecyclerView = itemView.findViewById(R.id.mainRecyclerView);
}
}
}
MainRecyclerView 实现;
private void initMainRecyclerView() {
RecyclerView mainRecyclerView = findViewById(R.id.mainRecyclerView);
MainRVAdapter adapter = new MainRVAdapter(genres);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
mainRecyclerView.setLayoutManager(linearLayoutManager);
mainRecyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
【问题讨论】:
标签: java android android-recyclerview