I've written a game where the user inputs the number of player and every player gets an own tab with an empty table.
Therefore I used a PagerAdapterClass (extends FragmentStatePagerAdapter) and a viewpager.
So every player has the same fragmentView.
Now the user can put variables into the table, bu everytime I switch between the tabs, the input gets lost. Well, i 'fixed' that problem by adding this to my pageradapter:
@Override
    public void destroyItem(ViewGroup container, int position, Object object) {
    }
But it's more stopping the viewpager from destroying than actually saving the data.
My main goal is to really save that stuff in that table.
I already tried https://stackoverflow.com/a/17135346/11956040 but i cannot get mContent because i cannot get the reference of the fragment, because all fragments are not created on their own but all at the same time (or something like that).
I also don't know how to set a Tag. This way: https://stackoverflow.com/a/18993042/11956040 doesn't work for me.
MainActivity:
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game);
        Toolbar toolbar = findViewById(R.id.toolbar2);
        setSupportActionBar(toolbar);
        ...
        //numPlayer = num of tabs
        SectionsPagerAdapter adapter = new SectionsPagerAdapter(numPlayer, getSupportFragmentManager());
        ViewPager viewPager = findViewById(R.id.view_pager);
        viewPager.setAdapter(adapter);
        TabLayout tabs = findViewById(R.id.tabs);
        tabs.setupWithViewPager(viewPager);
        if(numPlayer >= 5) {
            tabs.setTabMode(TabLayout.MODE_SCROLLABLE);
        }
    }
PagerAdapter:
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
    private int tabNum;
    public SectionsPagerAdapter(int tabNum, FragmentManager fm) {
        super(fm);
        this.tabNum = tabNum;
    }
    @Override
    public PlaceholderFragment getItem(int position) {
        return PlaceholderFragment.newInstance(position);
    }
    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        int playerNum = position + 1;
        return "Spieler " + playerNum;
    }
    @Override
    public int getCount() {
        // Show 2 total pages.
        return tabNum;
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
    }
}
Fragment:
public static PlaceholderFragment newInstance(int index) {
        PlaceholderFragment fragment = new PlaceholderFragment();
        Bundle bundle = new Bundle();
        bundle.putInt("player", index);
        fragment.setArguments(bundle);
        return fragment;
    }
There must be a solution but I cannot find it or cannot implement it. Pls help.
