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
Post a Comment