J'ai un Android FragmentPagerAdapter qui utilise BitmapFragment (ci-dessous), et il fonctionne très bien. Maintenant, j'essaie de changer les images à la volée. J'ai essayé de changer le ImageView mais rien ne change. Et j'ai essayé d'utiliser un FragmentTransaction.replace pour l'échanger, mais j'ai une exception d'Argument invalide. Je sais que getImageViewAtPage() fonctionne et "bitmap" est un bitmap valide.Android - Comment "invalider" un fragment dans un FragmentPagerAdapter?
Merci!
private class BitmapFragment extends Fragment {
private int mPosition = 0;
private ImageView mImageView;
private BitmapFragment(int num){
super();
mPosition = num;
}
public ImageView getImageView(){
return mImageView;
}
/**
* The Fragment's UI is just a Bitmap
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_bitmap, container, false);
try{
mImageView = (ImageView) v.findViewById(R.id.bitmap);
mImageView.setImageBitmap(bitmap);
}
catch(Exception e){
e.printStackTrace();
}
return v;
}
}
private void changeImage() {
/*
BitmapFragment bf = new BitmapFragment(mCurrentPageIndex);
FragmentTransaction ft = mReaderViewHandler.getSupportFragmentManager().beginTransaction();
ft.replace(R.layout.fragment_bitmap, bf);
ft.commit();
*/
ImageView v = getImageViewAtPage(mCurrentPageIndex);
try {
v.setImageBitmap(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
v.invalidate();
}