2

I need to update my BaseAdapter within my Fragment within my ViewPager.

I have 4 fragments, inside one of them(the second) I have another ViewPager with items, and those items have a button and when I click the button I want to add it to another fragment(the third) i alredy tried to use this:

Update Fragment from ViewPager

ViewPager PagerAdapter not updating the View

How to update fragment content from activity (viewpager)?

Update ViewPager dynamically?

Any of this worked for me.

public class SectionsPagerAdapter extends FragmentStatePagerAdapter {

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

        @Override
        public Fragment getItem(int position) {
            // getItem is called to instantiate the fragment for the given page.
            // Return a PlaceholderFragment (defined as a static inner class below).
            switch (position){
                case 0:
                    carregaCesto();
                    return frag_Noticias.newInstance("a","b");
                case 1:
                    carregaCesto();
                    ArrayList<String> grupoFamilias = new ArrayList<String>();
                    grupoFamilias.add("GÁS COMBUSTÍVEL");
                    grupoFamilias.add("APARELHOS DE COMBUSTÃO");
                    grupoFamilias.add("ELECTRODOMÉSTICOS");
                    grupoFamilias.add("UTENSÍLIOS DE COZINHA");
                    return frg_produtos_viewpager.newInstance(grupoFamilias,cesto);
                case 2:
                    carregaCesto();
                    return frag_Cesto.newInstance(cesto);
                case 3:
                    //return MapsActivity.newInstance();
                    Fragment fragment = new MapFragment();
                    return fragment;
                    //return MapFragment.
            }
            return null;
        }

        @Override
        public int getCount() {
            return 4;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            if(position == 0){
                return "Noticias";
            }else{
                if(position ==1){
                    return "Produtos";
                }else{
                    if(position == 2){
                        return "Cesto";
                    }else{
                        if(position == 3){
                            return "MAPA";
                        }else{
                            return null;
                        }
                    }
                }
            }
        }
    }

Fragment 2:

public class frg_produtos_viewpager extends Fragment {

    private OnFragmentInteractionListener mListener;

    public static final String ARG = "list";
    public static final String ARG3 = "list3";
    private ArrayList<String> grupoFamilias;
    private Cesto cesto;

    public frg_produtos_viewpager() {
        // Required empty public constructor
    }

    /**
     * Use this factory method to create a new instance of
     * this fragment using the provided parameters.
     *
     * @return A new instance of fragment frg_produtos_viewpager.
     */
    // TODO: Rename and change types and number of parameters
    public static frg_produtos_viewpager newInstance(ArrayList<String> produtos,Cesto cesto) {
        frg_produtos_viewpager fragment = new frg_produtos_viewpager();
        Bundle args = new Bundle();
        args.putStringArrayList(ARG, produtos);
        args.putParcelable(ARG3,cesto);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle args = getArguments();
            this.grupoFamilias = args.getStringArrayList(ARG);

            this.cesto = args.getParcelable(ARG3);

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootView = inflater.inflate(R.layout.fragment_produtosviewpager, container, false);
        ViewPager vpPager = (ViewPager) rootView.findViewById(R.id.viewPager);
        MyFragmentAdapter adapterViewPager = new MyFragmentAdapter(getFragmentManager(),grupoFamilias,cesto);
        vpPager.setAdapter(adapterViewPager);
        vpPager.setCurrentItem(1);
        return rootView;
    }

    // TODO: Rename method, update argument and hook method into UI event
    public void onButtonPressed(Uri uri) {
        if (mListener != null) {
            mListener.onFragmentInteraction(uri);
        }
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }

    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void onFragmentInteraction(Uri uri);
    }
}

Fragment 3:

public class frag_Cesto extends Fragment{
    public static final String ARG = "list";
    private ArrayList<Produto> produtos;
    private Cesto c;
    private ArrayList<Integer> produtosNr;
    private TextView tv;

    private OnFragmentInteractionListener mListener;

    public frag_Cesto() {
        // Required empty public constructor
    }

    public static frag_Cesto newInstance(Cesto cesto) {
        frag_Cesto fragment = new frag_Cesto();
        Bundle args = new Bundle();
        args.putParcelable(ARG,cesto);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle args = getArguments();
        if (args.containsKey(ARG)) {
            this.c = args.getParcelable(ARG);
            if(c != null){
                this.produtos = c.getArray();
                this.produtosNr = c.getNr();
            }else{
                this.produtosNr = new ArrayList<>();
                this.produtos = new ArrayList<>();
            }

        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_cesto, container, false);
        GridView lv = (GridView) rootView.findViewById(R.id.gridViewProdutosCesto);
        tv = (TextView)rootView.findViewById(R.id.tvPrecoFinal);
        lv.setAdapter(new MyAdapterCesto(getContext(), produtos, produtosNr, (AtividadePrincipal)getActivity(), c,this));
        if(c!=null && c.getArray().size()!= 0){
            mudarPrecoFinal("Preço: "+c.getPrecoFinal() + "€");
        }
        return rootView;
    }

    public void mudarPrecoFinal(String preco){
        tv.setText(preco);
    }

    // TODO: Rename method, update argument and hook method into UI event
    public void onButtonPressed(Uri uri) {
        if (mListener != null) {
            mListener.onFragmentInteraction(uri);
        }
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }

    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void onFragmentInteraction(Uri uri);
    }
}

Adapter for fragment 2:

public class MyFragmentAdapter extends FragmentPagerAdapter {

    public static int pos = 0;

    private ArrayList<Produto>listaProdutosTodos;
    private ArrayList<String> produtos;
    private Cesto cesto;

    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }

    public MyFragmentAdapter(FragmentManager fm,ArrayList<String> produtos,Cesto cesto){
        super(fm);
        this.produtos = produtos;
        adicionarValoresArray();
        this.cesto = cesto;
    }

    @Override
    public Fragment getItem(int position) {
        ArrayList<Produto>listaProdutos = new ArrayList<>();
        switch (position) {
            case 0:
                ArrayList<String> grupoFamilias = new ArrayList<String>();
                grupoFamilias.add("GÁS COMBUSTÍVEL");
                grupoFamilias.add("APARELHOS DE COMBUSTÃO");
                grupoFamilias.add("ELECTRODOMÉSTICOS");
                grupoFamilias.add("UTENSÍLIOS DE COZINHA");
                return frag_Produtos.newInstance(grupoFamilias);
            case 1:
                listaProdutos.clear();
                listaProdutos.add(new Produto(1,R.drawable.img1, "Garrafa Gás Butano", "Gás butano em garrafa modelo G26", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img2, "Garrafa Gás Propano", "Gás propano em garrafa modelo G26", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img3, "Garrafa Gás Propano", "Gás propano em garrafa modelo G26", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img4, "Garrafa Gás Butano Pluma", "Gás butano em garrafa Pluma exclusiva GalpGás", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img5, "Garrafa Gás Butano", "Gás butano em garrafa modelo G110", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img6, "Garrafa Gás Propano", "Gás propano em garrafa modelo G110", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img7, "Garrafa Minigás", "Gás butano em garrafa mini", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img8, "Cartucho Gás Butano-propano", "Mistura de gás butano-propano em cartucho de 190g", 20.00));
                return frag_gridView.newInstance(cesto,listaProdutos,listaProdutosTodos);
            case 2:
                listaProdutos.clear();
                listaProdutos.add(new Produto(1,R.drawable.img12, "Candeeiro Lightspot", "Candeeiro invovador para exterior", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img13, "Aquecedor Hotspot Tradicional", "Aquecedor a gás", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img14, "Aquecedor Hotspot Interior", "Aquecedor a gás", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img15, "Aquecedor Hotspot Silver", "Aquecedor a gás", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img16, "Aquecedor Hotspot Style", "Aquecedor a gás", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img17, "Lanterna Lightspot", "Lanterna Lightspot para utilização com cartucho de gás", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img18, "Fogareiro Cookspot", "Fogareiro Cookcpot para utilização com cartucho de gás", 20.00));
                return frag_anotherGridView.newInstance(cesto,listaProdutos,listaProdutosTodos);
            case 3:
                listaProdutos.clear();
                listaProdutos.add(new Produto(1,R.drawable.img19, "Grelhadores Eléctricos", "Uma vasta gama de grelhadores eléctricos", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img20, "Ferros a Vapor", "Uma vasta gama de ferros a vapor das melhores marcas", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img21, "Aspiradores", "Gama completa de aspiradores para toas as potências", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img22, "Pequenos Electrodomésticos", "Todo o tipo de pequenos electrodomésticos das principais marcas", 20.00));
                return frag_anotherGridView.newInstance(cesto,listaProdutos,listaProdutosTodos);
            case 4:
                listaProdutos.clear();
                listaProdutos.add(new Produto(1,R.drawable.img23, "Mata moscas", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img24, "Funil", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img25, "Suporte de rolo de cozinha", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img26, "Caixa para cotonetes", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img27, "Doseador de sabonete", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img28, "Fio dental; tampa para pasta de dentes e escova de dentes", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img29, "Paliteiros", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img30, "Pratos e talheres para pizza", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img31, "Taças multiusos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img32, "Taças multiusos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img33, "Frascos multiusos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img34, "Açucareiros", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img35, "Tira borbotos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img36, "Caixas multiusos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img37, "Saca rolhas", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img38, "Tira cápsulas", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img39, "Suporte para canetas", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img40, "Suporte para guardanapos e velas", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img41, "Temporizadores", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img42, "Taças multiusos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img43, "Caixa para bolachas", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img44, "Taças para cães e gatos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img45, "Taças para cães e gatos", "", 20.00));
                listaProdutos.add(new Produto(1,R.drawable.img46, "Regadores", "", 20.00));
                return frag_anotherGridView.newInstance(cesto,listaProdutos,listaProdutosTodos);
        }
        return null;
    }

    @Override
    public int getCount(){
        return produtos.size()+1;
    }

    // Returns the page title for the top indicator
    @Override
    public CharSequence getPageTitle(int position) {
        return "Page " + position;
    }

    public static int getPos() {
        return pos;
    }

    public static void setPos(int pos) {
        MyFragmentAdapter.pos = pos;
    }
    public void adicionarValoresArray(){
        listaProdutosTodos = new ArrayList<>();
        listaProdutosTodos.add(new Produto(1,R.drawable.img1, "Garrafa Gás Butano", "Gás butano em garrafa modelo G26", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img2, "Garrafa Gás Propano", "Gás propano em garrafa modelo G26", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img3, "Garrafa Gás Propano", "Gás propano em garrafa modelo G26", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img4, "Garrafa Gás Butano Pluma", "Gás butano em garrafa Pluma exclusiva GalpGás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img5, "Garrafa Gás Butano", "Gás butano em garrafa modelo G110", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img6, "Garrafa Gás Propano", "Gás propano em garrafa modelo G110", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img7, "Garrafa Minigás", "Gás butano em garrafa mini", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img8, "Cartucho Gás Butano-propano", "Mistura de gás butano-propano em cartucho de 190g", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img12, "Candeeiro Lightspot", "Candeeiro invovador para exterior", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img13, "Aquecedor Hotspot Tradicional", "Aquecedor a gás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img14, "Aquecedor Hotspot Interior", "Aquecedor a gás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img15, "Aquecedor Hotspot Silver", "Aquecedor a gás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img16, "Aquecedor Hotspot Style", "Aquecedor a gás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img17, "Lanterna Lightspot", "Lanterna Lightspot para utilização com cartucho de gás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img18, "Fogareiro Cookspot", "Fogareiro Cookcpot para utilização com cartucho de gás", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img19, "Grelhadores Eléctricos", "Uma vasta gama de grelhadores eléctricos", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img20, "Ferros a Vapor", "Uma vasta gama de ferros a vapor das melhores marcas", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img21, "Aspiradores", "Gama completa de aspiradores para toas as potências", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img22, "Pequenos Electrodomésticos", "Todo o tipo de pequenos electrodomésticos das principais marcas", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img23, "Mata moscas", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img24, "Funil", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img25, "Suporte de rolo de cozinha", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img26, "Caixa para cotonetes", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img27, "Doseador de sabonete", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img28, "Fio dental; tampa para pasta de dentes e escova de dentes", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img29, "Paliteiros", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img30, "Pratos e talheres para pizza", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img31, "Taças multiusos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img32, "Taças multiusos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img33, "Frascos multiusos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img34, "Açucareiros", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img35, "Tira borbotos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img36, "Caixas multiusos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img37, "Saca rolhas", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img38, "Tira cápsulas", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img39, "Suporte para canetas", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img40, "Suporte para guardanapos e velas", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img41, "Temporizadores", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img42, "Taças multiusos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img43, "Caixa para bolachas", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img44, "Taças para cães e gatos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img45, "Taças para cães e gatos", "", 20.00));
        listaProdutosTodos.add(new Produto(1,R.drawable.img46, "Regadores", "", 20.00));
    }
}

Adapter for Fragment 3:

public class MyAdapterCesto extends BaseAdapter {
    private ArrayList<Produto> mItems;
    private LayoutInflater mInflater;
    private AtividadePrincipal main;
    private Cesto c;
    private ArrayList<Integer> mItemsNr;
    private frag_Cesto fragmento;
    //https://stackoverflow.com/questions/24372218/access-fragment-from-adapter

    public MyAdapterCesto(Context context, ArrayList<Produto>mItems, ArrayList<Integer> mItemsNr , AtividadePrincipal main, Cesto cesto,frag_Cesto fragm) {
        mInflater = LayoutInflater.from(context);
        this.mItems = mItems;
        this.main = main;
        this.mItemsNr = mItemsNr;
        c = cesto;
        fragmento = fragm;
    }

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

    @Override
    public Produto getItem(int i) {
        return mItems.get(i);
    }

    @Override
    public long getItemId(int i) {
        return mItems.get(i).getImagem();
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        View v = view;
        ImageView picture;
        Button bt;
        final TextView titulo,preco;
        NumberPicker np;
        final int numero = i;

        if (v == null) {
            v = mInflater.inflate(R.layout.list_row_final, viewGroup, false);
            v.setTag(R.id.gasImagem, v.findViewById(R.id.gasImagem));
            v.setTag(R.id.gasPreco, v.findViewById(R.id.gasPreco));
            v.setTag(R.id.gasTitulo, v.findViewById(R.id.gasTitulo));
            v.setTag(R.id.btRetirar, v.findViewById(R.id.btRetirar));
            v.setTag(R.id.npProduto, v.findViewById(R.id.npProduto));
        }

        picture = (ImageView) v.getTag(R.id.gasImagem);
        bt = (Button) v.getTag(R.id.btRetirar);
        titulo = (TextView) v.getTag(R.id.gasTitulo);
        preco = (TextView) v.getTag(R.id.gasPreco);
        np = (NumberPicker) v.getTag(R.id.npProduto);

        Produto item = getItem(i);
        titulo.setText(item.getNome());
        picture.setImageResource(item.getImagem());
        preco.setText("Preço:"+mItems.get(numero).getPreco()*mItemsNr.get(numero)+"€");
        np.setMaxValue(20);
        np.setMinValue(1);
        np.setValue(mItemsNr.get(numero));

        np.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
            @Override
            public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
                c.getNr().set(numero,newVal);
                preco.setText("Preço:"+mItems.get(numero).getPreco()*mItemsNr.get(numero)+"€");
                int nr = mItemsNr.get(numero);
                main.guardarCesto(c);
                fragmento.mudarPrecoFinal("Preço:" + c.getPrecoFinal()+"€");
            }
        });
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                c.getArray().remove(numero);
                c.getNr().remove(numero);
                main.guardarCesto(c);
                fragmento.mudarPrecoFinal("Preço:" + c.getPrecoFinal()+"€");
                updateAdapter();
            }
       });


        picture = (ImageView) v.getTag(R.id.picture);

        Produto produto = mItems.get(i);

        //picture.setImageResource(produto.getImagem());

        return v;
    }
    private void updateAdapter() {
        this.mItems = c.getArray();
        this.mItemsNr = c.getNr();
        //and call notifyDataSetChanged
        notifyDataSetChanged();
    }
    private static boolean isExternalStorageAvailable(){
        String estadoSD = Environment.getExternalStorageState();
        if(Environment.MEDIA_MOUNTED.equals(estadoSD))
            return true;

        return false;
    }
    private static boolean isExternalStorageReadOnly(){
        String estadoSD = Environment.getExternalStorageState();
        if(Environment.MEDIA_MOUNTED_READ_ONLY.equals(estadoSD))
            return true;

        return false;
    }

}

If you need any more code just say! I think the only thing that i didn't try was .setTag(); I didn't understand how to do it. Tnx :)

Community
  • 1
  • 1

1 Answers1

0

you have to have FragmentStatePagerAdapter and not FragmentPagerAdapter

Then from your adapter in my case i did main.recarrega(); when I click the button In my main i made

public void recarrega(){
        mViewPager.getAdapter().notifyDataSetChanged();
    }

In my FragmentStatePagerAdapter:

public class SectionsPagerAdapter extends FragmentStatePagerAdapter {

        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public int getItemPosition(Object object) {
            return POSITION_NONE;
        }