Ich habe Registerkarten erstellt. Dafür habe ich ein Fragment, in dem ich Registerkarten erstellt und Pager angezeigt habe. Hat auch zwei Fragmente erstellt.Liste nicht in Registerkarten mit View Pager
Zeigt die Listen in den Fragmenten.
Jetzt ist das Problem, wenn die App zum ersten Mal ausgeführt wird das MyTrips-Fragment beim ersten Laden kann die Listen in beiden Registerkarten sehen, aber wenn ich zurück und aus dem Menü Optionen der App wählen MyTrips-Fragment zeigt es keine Liste in beiden Registerkarten.
Wie ich Debugging habe ich festgestellt, dass Fragmente nicht zum zweiten Mal hinzugefügt werden. Ich rufe viewPagerAdapter onCreateView eines Fragments auf.
Also kann es nur einmal geladen werden?
MyTripsFragment
public class MyTrips extends Fragment {
private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private int Numboftabs =2;
private TabLayout tabLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_my_trips, container, false);
mAdapter = new TabsPagerAdapter(getActivity().getFragmentManager(),Titles,Numboftabs);
viewPager = (ViewPager)view.findViewById(R.id.pager);
setupViewPager(viewPager);
tabLayout = (TabLayout)view.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
return view;
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getFragmentManager());
adapter.addFragment(new ScheduledTravelFragment(), "Scheduled Travel");
adapter.addFragment(new TravelHistoryFragment(), "Travel History");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}
Bitte führen mit diesem danke ..
ohh ja ,. Ich danke Ihnen so viel .. – Sid
Ich bin froh, dass es geklappt hat, ich hatte das gleiche Problem und brauchte 2 Tage, um die Lösung und den Grund zu finden, Happy Coding –
Hallo, ich habe funktioniert, aber ich habe zu Hause Aktivität, dass ich Optionen Menü so onClick des Optionen-Menüs Ich ersetze die Fragmente, jetzt, wenn ich meinTrips-Fragment zum ersten Mal ersetze, kann ich die Liste sehen. Wenn ich wieder zum Hauptfragment gehe und den myTrips-Bildschirm sehe, kann ich die Liste sehen, aber vom myTrips-Bildschirm aus andere Optionen Menü und ersetzen Sie ein anderes Fragment, dann beim Zurückdrücken kann ich nicht sehen, die Liste in MyTrips Fragment zeigt es leer. Was ist dafür zu tun? Vielen Dank. @quick Lerner – Sid