Get different Fragments content [Android]

0

The point is that I made a section of code where I have several Fragments in the same activity (tabbed activity) and I want to get information from the other text boxes of the previous fragments in the last fragment (because I will make a transaction )

CREATED CODE

public class Perfil extends Fragment {

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

ViewPager viewPager;
TabLayout tabLayout;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_perfil, container, false);

    viewPager = (ViewPager) view.findViewById(R.id.viewpager);
    tabLayout = (TabLayout) view.findViewById(R.id.tab);

    return view;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    setupViewPager(viewPager);
    tabLayout.setupWithViewPager(viewPager);

    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getChildFragmentManager());

    viewPagerAdapter.addFragment(new Personal(), "Personal");
    viewPagerAdapter.addFragment(new Direccion(), "Dirección");
    viewPagerAdapter.addFragment(new Empresa(), "Empresa");

    viewPager.setAdapter(viewPagerAdapter);
}

private class ViewPagerAdapter extends FragmentPagerAdapter {

    List<Fragment> fragmentList = new ArrayList<>();
    List<String> fragmentTitles = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

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

    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentTitles.get(position);
    }

    public void addFragment(Fragment fragment, String name) {
        fragmentList.add(fragment);
        fragmentTitles.add(name);
    }
}

}

The other codes (viewPagerAdapter.addFragment (new Personal (), "Personal");     viewPagerAdapter.addFragment (new Address (), "Address");     viewPagerAdapter.addFragment (new Company (), "Company");) they are common and current fragments

Greetings

    
asked by Antonio Labra 04.12.2018 в 07:06
source

1 answer

0

If you have defined an ID for each field of the form android:@+id/id means that you have added them to the class R.java , which means that it is accessible through the findViewById(R.id.id) method.

The best thing would be that your fragments have public methods to get the information you want to share, and save the reference to those fragments before adding them to ViewPager

    
answered by 05.12.2018 в 04:39