我正在使用 TMDB api、Retrofit、Gson 和 Glide 创建一个电影应用程序。我有两个 recyclerView 和两个要充气的布局。但我无法在 recyclerView 适配器中膨胀 2 个布局。
我已经在 2 个不同的 recyclerView 中实现了流行和即将上映的电影列表。但他们使用 1 个单一布局进行展示。我想在一种布局中夸大流行电影,在另一种布局中夸大即将上映的电影。我无法设置 getItemViewType() 方法的条件。如何在 getItemViewType() 方法中检查热门和即将上映的电影列表,并在 recyclerView 的 onCreateViewHolder() 方法上实现它。
电影适配器类:
public class MovieAdapter extends RecyclerView.Adapter<MovieAdapter.MovieViewHolder> {
private Context context;
private ArrayList<Movie> movieArrayList;
public MovieAdapter(Context context, ArrayList<Movie> movieArrayList) {
this.context = context;
this.movieArrayList = movieArrayList;
}
@NonNull
@Override
public MovieViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.movie_list_item, parent, false);
return new MovieViewHolder(view);
}
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
@Override
// Set values to the list item components
public void onBindViewHolder(@NonNull MovieViewHolder holder, int position) {
holder.movieTitle.setText(movieArrayList.get(position).getOriginalTitle());
holder.rating.setText(String.valueOf(movieArrayList.get(position).getVoteAverage()));
String imagePath = "https://image.tmdb.org/t/p/w500" + movieArrayList.get(position).getPosterPath();
Glide.with(context)
.load(imagePath)
.placeholder(R.drawable.loading)
}
}
我想在 onCreateViewHolder() 方法中膨胀 2 个不同的布局“movie_list_item.xml”和“upcoming_movie_list_item.xml”。
MMMHUHU
HUX布斯
相关分类