2014-02-13 70 views
0

我使用ViewPager进行图像滑动。在菜单按钮上点击我想用新的处理过的位图替换位移的位图。如何更改ViewPager中显示的位图显示ImageViews

我试图在活动处更改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

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

在适配器的instantiateItem()方法我给每个ImageView的与

imageView.setId(position); 

一个ID在我setImage()函数,我可以找到这段代码的ImageView和可以改变的位图。

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

PagerAdapter您使用的将正常工作的习惯。您可以更改数据集,适配器中的String []图像数组,或更改instantiateItem()方法。这是为每个图像创建ImageView的地方。请记住,在进行更改时,请在适配器上调用notifyDataSetChanged(),否则ViewPager将不会反映这些更改。