首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从url列表中填充ImageSwitcher?(编辑:水平RecyclerView)

如何从url列表中填充ImageSwitcher?(编辑:水平RecyclerView)
EN

Stack Overflow用户
提问于 2016-03-30 12:48:38
回答 1查看 819关注 0票数 0

我有一个对象,它包含一个字符串列表。这些是图片的urls,我使用毕加索库在ImageView中设置。我想把这些图片设置在一个ImageSwitcher中,我不知道该如何做(我以前做过一些研究,但没有结果)。谢谢你帮我!

编辑:我最终选择了一个水平的RecyclerView来拥有一个类似的图库,所以在我的布局中,一行只有一个ImageView。我现在也有一个回收适配器,但我不知道我是否需要在适配器中包含我的字符串列表,还是只需要处理imageView并动态创建一个ImageView并将其添加到我的java类中的回收器列表中……谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-12 11:48:33

您的Adapter应该有一个构造函数,其中您将把urls作为参数传递给Adapter。您的Adapter将如下所示:

代码语言:javascript
复制
public class ImageSwitcherAdapter extends RecyclerView.Adapter<ImageSwitcherAdapter.MyViewHolder> {

    private Context context;
    private List<String> urls;

    public ImageSwitcherAdapter(Context context, List<String> urls) {
        this.context = context;
        this.urls = urls;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.your_row_layout, parent, false);
        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        Uri uri = Uri.parse(urls.get(position));
        Picasso.with(context).load(uri).into(holder.image);
    }

    @Override
    public int getItemCount() {
        return urls.size();
    }

    public static class MyViewHolder extends RecyclerView.ViewHolder {
        private ImageView image;

        public MyViewHolder(View itemView) {
            super(itemView);
            image = itemView.findViewById(R.id.your_imageview);
        }
    }
}

并且将Adapter设置为您的RecyclerView如下所示:

代码语言:javascript
复制
RecyclerView recyclerView = findViewById(R.id.your_recyclerview);

LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(layoutManager);

ImageSwitcherAdapter adapter = new ImageSwitcherAdapter(this, urls);
recyclerView.setAdapter(adapter);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36309353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档