Android 从对象列表中将图像设置为ViewPager

Android 从对象列表中将图像设置为ViewPager,android,Android,我想制作横幅旋转木马。我选择使用ViewPager而不是RecyclerView。我在适配器实现方面有一个问题: public class BannerAdapter extends PagerAdapter { List<Banner> bannerList; Context context; ImageView imageView; public BannerAdapter(List<Banner> list, Context con

我想制作横幅旋转木马。我选择使用
ViewPager
而不是
RecyclerView
。我在适配器实现方面有一个问题:

public class BannerAdapter extends PagerAdapter {
    List<Banner> bannerList;
    Context context;
    ImageView imageView;

    public BannerAdapter(List<Banner> list, Context context) {
        bannerList = list;
        this.context = context;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        View v = View.inflate(context, R.layout.fragment_home_layout, null);
        imageView = (ImageView) v.findViewById(R.id.image);
        Picasso.with(context).load(OpApp.IMAGEORGINAL + bannerList.get(position).getMobileImage() + ".jpg").placeholder(R.drawable.op_logo).into(imageView);
        return v;
    }

    @Override
    public void destroyItem(ViewGroup collection, int position, Object view) {
    }

    @Override
    public int getCount() {
        return bannerList.size();
    }



    @Override
    public boolean isViewFromObject(View view, Object object) {
        return false;
    }

}
实际结果:

预期结果:

除此之外,您还可以提出什么建议来实现位置指示器功能?我考虑了
实现ViewPager.OnPageChangeListener
,但对此不确定

我知道如何使用“片段”实现“ViewPager”,但在我的例子中,我需要使用“列表”而不是“片段”,我对此感到困惑


另外,请不要删掉我的问题,只评论你不喜欢的内容和错误,我会尝试编辑它。我是这里和安卓系统的新手。无论如何,谢谢你

解决方案成立后,我更改了适配器的2种方法,所有方法都正常工作

@Override
public Object instantiateItem(ViewGroup container, int position) {
    ImageView imageView = new ImageView(context);
    Picasso.with(context).load(OpApp.IMAGEORGINAL + bannerList.get(position).getMobileImage() + ".jpg")
            .placeholder(R.drawable.op_logo).into(imageView);
    ((ViewPager) container).addView(imageView);
    return imageView;

}

@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
    ((ViewPager) collection).removeView((View) view);
}

您需要为Imageview创建一个单独的布局(如ListView的list\u item\u row)或使用Imageview=new Imageview(此)。我将
banner\u row.xml
FrameLayout
作为父级和一个子级。我从
fragment\u home\u layout.xml
ImageView
移动到
banner\u行
,并将充气机从
fragment\u home\u layout
更改为
banner\u行
,没有结果。。
@Override
public Object instantiateItem(ViewGroup container, int position) {
    ImageView imageView = new ImageView(context);
    Picasso.with(context).load(OpApp.IMAGEORGINAL + bannerList.get(position).getMobileImage() + ".jpg")
            .placeholder(R.drawable.op_logo).into(imageView);
    ((ViewPager) container).addView(imageView);
    return imageView;

}

@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
    ((ViewPager) collection).removeView((View) view);
}