相关疑难解决方法(0)

未调用FragmentPagerAdapter getItem

我无法在FragmentPagerAdapter中重用片段.使用destroyItem()方法,它正在删除片段,但仍然没有再次调用getItem().只有2-3个图像所以我使用FragmentPagerAdapter而不是FragmentStatePagerAdapter ..

public class ExamplePagerAdapter extends FragmentPagerAdapter {

    ArrayList < String > urls;
    int size = 0;
    public ExamplePagerAdapter(FragmentManager fm, ArrayList < String > res) {
        super(fm);
        urls = res;
        size = urls.size();
    }

    @Override
    public int getCount() {
        if (urls == null) {
            return 0;
        } else {
            return size;
        }

    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        FragmentManager manager = ((Fragment) object).getFragmentManager();
        FragmentTransaction trans = manager.beginTransaction();
        trans.remove((Fragment) object);
        trans.commit();
    }

    @Override
    public Fragment getItem(int …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-fragmentactivity

118
推荐指数
4
解决办法
3万
查看次数

当导航回片段时,片段中的Viewpager没有得到更新

下面是我的ViewpagerAdapter的代码

private class ImagePagerAdapter extends FragmentStatePagerAdapter
{
    public ImagePagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int arg0) {
        // TODO Auto-generated method stub
        Fragment fragment = new DemoObjectFragment();
        Bundle args = new Bundle();

        args.putInt(DemoObjectFragment.ARG_OBJECT, arg0 );
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub

        int returnVal=0;
        if (totalPlayer%5==0) {
            returnVal= totalPlayer/5;
        }
        else
        {
            moduloImage=totalPlayer%5;
            returnVal= (totalPlayer/5)+1;
        }   
        return returnVal;
    }

    @Override
    public int getItemPosition(Object object){
        return POSITION_NONE; …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

9
推荐指数
1
解决办法
883
查看次数

调用setAdapter时,ViewPager并不总是刷新,FragmentStatePagerAdapter

首先,我使用FragmentStatePagerAdapter为ViewPager提供要显示的片段.

当app处于运行状态(即之后onResume())时,在ViewPager上调用setAdapter将始终工作并使我的ViewPager刷新,getItem(int position)调用适配器中的方法.

但是在方向更改后,如果我在onCreate(Bundle savedInstance)我的activity 的方法中调用setAdapter,getItem(int position)则不会调用该方法,并且会重用旧的片段.

我想也许FragmentManager正在做一些我不明白的事情?片段管理器是在方向更改期间唯一不会被破坏的东西.

谢谢

android adapter android-viewpager

7
推荐指数
1
解决办法
9015
查看次数