Horizo​​ntal RecyclerView 图像

Horizontal RecyclerView of images

获取图片的Horizo​​ntal RecyclerView的代码是什么?我已经有了水平 RecyclerView of Strings 的代码。我需要有相同但图像。 我必须创建一个包含 10 个水平可滚动 imageView 的 RecyclerView。 这是我的 10 个水平 TextView 的实际代码:

public class HorizontalAdapter extends RecyclerView.Adapter<HorizontalAdapter.HorizontalViewHolder> {

private String[] items;

public HorizontalAdapter(String[] items) {

    this.items = items;

}

@Override
public HorizontalViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater inflater = LayoutInflater.from(parent.getContext());
    View view = inflater.inflate(R.layout.item_layout_recycler_view_top_10, parent, false);
    return new HorizontalViewHolder(view);
}

@Override
public void onBindViewHolder(HorizontalViewHolder holder, int position) {
    holder.text.setText(items[position]);
}

@Override
public int getItemCount() {
    return items.length;
}

public class HorizontalViewHolder extends RecyclerView.ViewHolder {
    TextView text;

    public HorizontalViewHolder(View itemView) {
        super(itemView);
        text = itemView.findViewById(R.id.text_view_top_10_ricette_titolo_ricetta);
   } }
}

我用这种方式在 Fragment 上管理它:

        RecyclerView list = (RecyclerView) view.findViewById(R.id.recycler_view_ricette_categorie_primi_top_10);
    list.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false));
    list.setAdapter(new HorizontalAdapter(new String[]{"Android","Programming","Java","RecyclerView","Layout"}));

我必须如何修改它?

尝试在您的 HorizontalAdapter

中进行以下更改
public class HorizontalAdapter extends RecyclerView.Adapter<HorizontalAdapter.HorizontalViewHolder> {

private int[] items;

public HorizontalAdapter(String[] int) {

    this.items = items;

}

@Override
public HorizontalViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater inflater = LayoutInflater.from(parent.getContext());
    View view = inflater.inflate(R.layout.item_layout_recycler_view_top_10, parent, false);
    return new HorizontalViewHolder(view);
}

@Override
public void onBindViewHolder(HorizontalViewHolder holder, int position) {
    holder.image.setImageResource(items[position]);
}

@Override
public int getItemCount() {
    return items.length;
}

public class HorizontalViewHolder extends RecyclerView.ViewHolder {
    ImageView image;

    public HorizontalViewHolder(View itemView) {
        super(itemView);
        image = itemView.findViewById(R.id.imageviewid);
   } }
}

RecyclerView 代码

RecyclerView list = (RecyclerView) view.findViewById(R.id.recycler_view_ricette_categorie_primi_top_10);
    list.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false));
    list.setAdapter(new HorizontalAdapter(new int[]{R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher}));

NOTE : Your layout (item_layout_recycler_view_top_10) needs to contain a ImageView instead of a TextView

您想要图片而不是充满 textView 的 recyclerView (R.layout.item_layout_recycler_view_top_10)?

只需创建另一个包含 ImageView 而不是 TextView 的布局,然后根据您当前的解决方案使用它。

字符串数组更改为图像url创建数组或可绘制图像数组并发送到适配器并设置到图像视图中。