簡體   English   中英

如何在顯示ImageViews的ViewPager中更改顯示的位圖

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM