【问题标题】:Horizontal RecyclerView of images水平回收器查看图像
【发布时间】:2018-05-07 08:55:57
【问题描述】:

获取图像的Horizo​​ntal RecyclerView的代码是什么?我已经有了字符串水平 RecyclerView 的代码。我需要相同但图像。 我必须创建一个 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"}));

我必须如何修改它?

【问题讨论】:

  • 不明白。你到底想问什么?

标签: java android android-recyclerview imageview horizontal-scrolling


【解决方案1】:

尝试在您的 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}));

注意:您的布局 (item_layout_recycler_view_top_10) 需要包含 ImageView 而不是 TextView

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 2021-06-08
        • 1970-01-01
        • 2013-12-18
        相关资源
        最近更新 更多