gpt4 book ai didi

java - Android - 如何 "invalidate"FragmentPagerAdapter 中的 fragment ?

转载 作者:行者123 更新时间:2023-11-29 09:19:52 27 4
gpt4 key购买 nike

我有一个使用 BitmapFragment(如下)的 Android FragmentPagerAdapter,它运行良好。现在我正在尝试即时切换图像。我试过更改 ImageView 但没有任何变化。而且我尝试使用 FragmentTransaction.replace 将其换出,但我收到 Invalid Argument 异常。我知道 getImageViewAtPage() 有效并且“位图”是有效的位图。

谢谢!

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();
}

最佳答案

请尝试在 changeImage() 方法中执行 mImageView.setImageBitmap() 而不是使用 v = getImageViewAtPage 并执行 v.setImageBitmap().

关于java - Android - 如何 "invalidate"FragmentPagerAdapter 中的 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7209446/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com