Фрагмент TabView не обновляется после обратного вызова из другой вкладки - PullRequest
0 голосов
/ 31 мая 2018

Я установил RecyclerView в Fragments из TabView. Данные Recylerview задаются с помощью RestApi. Когда один элемент в Tab2 удаляется, элемент необходимо добавить в Tab3вызывая RestApi. Tab2 содержит список неактивных участников. Tab3 содержит список активных участников. После активации члена с Tab2 необходимо вызвать RestApi для обновления списка Tab3.
Это код для интерфейса обратного вызова в Tab2`

  OnTableAddedListener tlistener;
 public interface OnTableAddedListener
    {
        void addTable();
    }  

Этот обратный вызов вызывается после того, как элемент активирован как

public void removeItem(int position)
    {
        current.remove(position);
        adapter.notifyItemRemoved(position);
        adapter.notifyItemRangeChanged(position,current.size());
        if(tlistener!=null){
            tlistener.addMember);
}
    }  

Я реализовал интерфейс обратного вызова в Tab3.вызывается в Tab3 после активации участника, и необходимо добавить активных участников, вызвав RestApi и новые данные.

  @Override
    public void addTable() {
        getData();
        FreeTable table=new FreeTable();
        tx=fm.beginTransaction();
        tx.detach(table);
        tx.attach(table);
        tx.commit();

    }

Но Fragment не обновить? Как решить эту проблему?
Это код для ViewPager для добавления вкладок

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View v=inflater.inflate(R.layout.choose_tab, container, false);
        //-----------------------------------------------------------------------------------
            tabLayout=(TabLayout)v.findViewById(R.id.simpleTabLayout);
            viewPager=(ViewPager)v.findViewById(R.id.simpleViewPager);
            viewPager.setOffscreenPageLimit(3);
            tabLayout.addTab(tabLayout.newTab().setText("Total Members"));
            tabLayout.addTab(tabLayout.newTab().setText("Inactive Member"));
            tabLayout.addTab(tabLayout.newTab().setText("Active Member"));
              // tabLayout.addTab(tabLayout.newTab().setText("Auto Suggest"));
              // PagerAdapter adapter=new PagerAdapter(getActivity().getSupportFragmentManager(),tabLayout.getTabCount());
        //------------------------------------------------------------------------------------------------------------
        PagerAdapter adapter=new PagerAdapter(getActivity().getSupportFragmentManager(),tabLayout.getTabCount());
        //PagerAdapter adapter=new PagerAdapter(getChildFragmentManager(),tabLayout.getTabCount());
        viewPager.setAdapter(adapter);
        tabLayout.addOnTabSelectedListener(this);
        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
        return v;
    }
...