相关疑难解决方法(0)

在恢复活动时刷新FragmentStatePagerAdapter上的图像

我创建了一个FragmentStatePagerAdapter用于提供小型图库的活动.但是,当活动恢复时(例如,从其他活动返回后),我无法刷新它.每次前两张图片都是空白的,只有在我将两张图片刷到一边后,它们才会刷新.我找到的答案都没有起作用(特别是压倒一切getItemPosition())

我这样设置:

mPagerAdapter = new PhotosPagerAdapter(getSupportFragmentManager());
mPager = (ViewPager) findViewById(R.id.photosViewPager);
mPager.setAdapter(mPagerAdapter);
Run Code Online (Sandbox Code Playgroud)

然后我有FragmentStatePagerAdapter类:

private class PhotosPagerAdapter extends FragmentStatePagerAdapter{

    public PhotosPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public int getCount() {
        return photos.size();   
    }

    @Override
    public Fragment getItem(int position) {
        ImageFragment f = new ImageFragment(position);
        return f;
    }

    @Override
    public int getItemPosition(Object object) {
        throw new RuntimeException();
        //return POSITION_NONE;
    }

}
Run Code Online (Sandbox Code Playgroud)

您可能已经注意到,我在getItemPosition中抛出RuntimeException,因为我想检查它何时被调用.直到我添加一些包含我的图片的列表才会调用它.然后是ImageFragment类:

public class ImageFragment extends Fragment{

    int position;
    Bitmap mBitmap;
    int width;
    int height;
    ImageView img;

    public ImageFragment(){ …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager fragmentpageradapter

18
推荐指数
1
解决办法
3万
查看次数