繁体   English   中英

如何在显示ImageViews的ViewPager中更改显示的位图

[英]How to change the displayed Bitmap in a ViewPager displaying ImageViews

我使用ViewPager进行图像滑动。 在菜单按钮上,单击“我想用新处理的位图替换置换的位图”。

我试图在活动中更改ImageView。 但是它将更改第一个ImageView位图,而不更改显示的位图。

public void replaceImage(Bitmap newBitmap){
    ImageView imageView = (ImageView) findViewById(R.id.image);
    imageView.setBitmap(newBitmap));
}

我想我必须在适配器上更改图片。 FragmentPagerAdapter是否可以为我提供所需的功能?

我的代码是否需要: https : //gist.github.com/anonymous/e965a624b54b15a65f2c

您正在使用的自定义PagerAdapter将正常工作。 您可以更改数据集,适配器中的String []图像数组,也可以在InstantiateItem()方法中进行更改。 那就是为每个图像创建ImageView的地方。 进行更改后,请记住在适配器上调用notifyDataSetChanged(),否则ViewPager不会反映所做的更改。

我可以使用此代码更改当前显示的图像视图。

在适配器的instantiateItem()方法上,我给每个ImageView一个ID

imageView.setId(position);

在我的setImage()函数中,可以使用此代码找到imageView并可以更改位图。

public void setFilterImage(){
    ImageView currentImageView = (ImageView) findViewById(pager.getCurrentItem());
    currentImageView.setImageDrawable( getResources().getDrawable( myNewBitmap ));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM