在PageViewer中动态更新图像

时间:2018-07-03 09:34:00

标签: java android

加载片段时,我可以获取images[]数组中指定的图像以正确显示,但是一旦更新了images[]数组,我将无法随后更新ViewPager中的ImageViews。

这样做的最佳方法是什么?

这是我的实例化代码:

@Override
public Object instantiateItem(ViewGroup container, int position) {
    layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = layoutInflater.inflate(R.layout.view_pager_forsale_photos, null);

    ImageView imageView = (ImageView) view.findViewById(R.id.ivViewPagerForsalePhoto);

    try {
        Glide.with(context)
                .load(images[position])
                .into(imageView);

        ViewPager vp = (ViewPager) container;
        vp.addView(view, 0);
    } catch (Exception e) {
        // Log.e(LOG_TAG,"Glide error " + e);
    }

    return view;
} 

1 个答案:

答案 0 :(得分:1)

您的适配器应在PagerAdapter.POSITION_NONE中返回getItemPosition。这样,您可以触发notifyDataSetChanged重新加载更改。

在进行此更改后,是否通过调试器检查instantiateItem是否已触发。还要验证Glide是否没有从缓存中加载图像。