Ich benutze DrawerLayout
mit ViewPagerIndicator
, aber die letzte wird nicht korrekt mit der DrawerLayout
arbeiten. Sobald ich die Anwendung öffne, wird der Viewpager korrekt angezeigt, aber sobald ich Fragmente in der DrawerLayout ändere, verschwinden die Fragmente des ViewPagers.ViewPager Fragmente verschwinden
Hier ist mein FragmentManager:
FragmentManager fragmentManager = getSupportFragmentManager();
switch (arg2) {
case 0:
contentFragment = new Lebanon();
break;
}
fragmentManager.beginTransaction()
.replace(R.id.content_frame, contentFragment).commit();
Das zweite Fragment und vierte in dem ViewPager ist und sie nicht verschwinden, während die erste, dritte und fünfte verschwinden. Was ist falsch in meinem Code?
Hier ist mein Fragment:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
viewta = inflater.inflate(R.layout.simple_tabs, container, false);
SamsungLB = com.androidarabia.lebanon.SamsungLB.newInstance();
HTCLB = com.androidarabia.lebanon.HTCLB.newInstance();
LGLB = com.androidarabia.lebanon.LGLB.newInstance();
SonyLB = com.androidarabia.lebanon.SonyLB.newInstance();
SearchLB = com.androidarabia.lebanon.SearchLB.newInstance();
this.getSherlockActivity().getSupportActionBar()
.setHomeButtonEnabled(true);
prefs = this.getSherlockActivity().getSharedPreferences(prefName,
Context.MODE_PRIVATE);
adapter = new GoogleMusicAdapter(this.getSherlockActivity()
.getSupportFragmentManager());
pager = (ViewPager) viewta.findViewById(R.id.pager);
pager.setPageTransformer(true, new ZoomOutPageTransformer());
indicator = (TabPageIndicator) viewta.findViewById(R.id.indicator);
pager.setCurrentItem(0);
pager.setAdapter(adapter);
pager.setOffscreenPageLimit(4);
indicator.setViewPager(pager);
return viewta;
}
private void addtabs(ViewPager pager2) {
// TODO Auto-generated method stub
pager2.setAdapter(adapter);
pager2.setOffscreenPageLimit(4);
indicator.setViewPager(pager);
}
class GoogleMusicAdapter extends FragmentStatePagerAdapter {
public GoogleMusicAdapter(FragmentManager fm) {
super(fm);
notifyDataSetChanged();
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return SamsungLB;
case 1:
return HTCLB;
case 2:
return LGLB;
case 3:
return SonyLB;
case 4:
return SearchLB;
}
notifyDataSetChanged();
return TestFragment.newInstance(CONTENT[position % CONTENT.length]);
}
@Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length].toUpperCase();
}
@Override
public int getCount() {
return CONTENT.length;
}
}
keine solche Methode ... –
@KingOmar Stellen Sie sicher, dass Sie die neueste Version der Support-Bibliothek in Ihrem Projekt haben. – Luksprog
yeap ich googelte das und nur überprüft. Ich habe die neueste Version der Support-Bibliothek. –