在 ViewPager 中更新 Fragment 中的 BaseAdapter

Update BaseAdapter inside Fragment inside ViewPager

我需要在我的 ViewPager 中更新我的 Fragment 中的 BaseAdapter。

我有 4 个片段,其中一个片段(第二个)我有另一个带有项目的 ViewPager,这些项目有一个按钮,当我单击按钮时我想将它添加到另一个片段(第三个)我已经尝试使用这个:

Update Fragment from ViewPager

ViewPager PagerAdapter not updating the View

How to update fragment content from activity (viewpager)?

Update ViewPager dynamically?

这些都对我有用。

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

片段 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);
    }
}

片段 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);
    }
}

片段 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));
    }
}

片段 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;
    //

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

}

如果您需要更多代码,请直接说! 我认为我唯一没有尝试的是 .setTag(); 我不明白该怎么做。 发送:)

你必须有 FragmentStatePagerAdapter 而不是 FragmentPagerAdapter

然后根据你的 adapter 在我的情况下,当我点击按钮时我做了 main.recarrega(); 在我的主要我做了

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

在我的 FragmentStatePagerAdapter 中:

public class SectionsPagerAdapter extends FragmentStatePagerAdapter {

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