Donate. I desperately need donations to survive due to my health

Get paid by answering surveys Click here

Click here to donate

Remote/Work from Home jobs

how to use get fragmentManager with viewPager

In main Activity, my app has 5 buttons and a fragment, and the fragment is changed by clicking on buttons.

my teacher told us, we should use import android.app.Fragment not import android.support.v4.app.Fragment

so I use: getFragmentManager().beginTransaction().replace(R.id.contentFr, new AppSettingFragment()).commit()` .

But one of my fragment has tablayout and viewpager, so I have to use getSupportFragmentManger. What can I do?

AppSettingFragment:

port android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class AppSettingFragment extends Fragment {


    public AppSettingFragment() {
        // Required empty public constructor
    }
  @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view= inflater.inflate(R.layout.fragment_app_setting, container, false);
        TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);
        ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager);

        viewPager.setAdapter(new SectionPagerAdapter(getActivity().getSupportFragmentManager()));
        tabLayout.setupWithViewPager(viewPager);


        return view;
    }
    public class SectionPagerAdapter extends FragmentPagerAdapter {

        public SectionPagerAdapter(FragmentManager fm) {
            super(fm);
            fm = getActivity().getSupportFragmentManager();
            for (int i = 0; i < fm.getBackStackEntryCount(); ++i) {
                fm.popBackStack();
            }
        }

        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0:
                    return new settinglanguageFrgment();
                case 1:
                    return new HelpFragment();
                case 2:
                    return new AboutFragment();

                default:
                    return null;
            }
        }

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

        @Override
        public int getItemPosition(Object object) {
            return POSITION_NONE;

        }

        @Override
        public CharSequence getPageTitle(int position) {
            switch (position) {
                case 0:
                    return getResources().getText(R.string.setting);
                case 1:
                    return getResources().getText(R.string.help);
                case 2:
                    return getResources().getText(R.string.about);
                default:
                    return null;
            }
        }

Comments