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