[英]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.