我使用ViewPager进行图像滑动。在菜单按钮上单击我想用新处理的位图替换移位的位图。
我尝试在Activity上更改ImageView。但它改变了第一个ImageView位图,而不是显示的位图。
public void replaceImage(Bitmap newBitmap){
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setBitmap(newBitmap));
}
我想我必须改变适配器上的图片。 FragmentPagerAdapter是否为我提供了我需要的功能?
我的代码(如果需要):https://gist.github.com/anonymous/e965a624b54b15a65f2c
答案 0 :(得分:0)
您使用的自定义PagerAdapter可以正常工作。您可以更改数据集,适配器中的String []图像数组,也可以在instantiateItem()方法中进行更改。这是为每个图像创建ImageView的地方。在进行更改时,请记住在适配器上调用notifyDataSetChanged(),否则ViewPager将不会反映更改。
答案 1 :(得分:0)
我可以使用此代码更改当前显示的图像视图。
在适配器的instantiateItem()
方法上,我给每个ImageView一个id
imageView.setId(position);
在我的setImage()函数中,我可以使用此代码找到imageView,并可以更改位图。
public void setFilterImage(){
ImageView currentImageView = (ImageView) findViewById(pager.getCurrentItem());
currentImageView.setImageDrawable( getResources().getDrawable( myNewBitmap ));
}