2014-02-13 22 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將不會反映這些更改。