Tôi đang sử dụng DrawerLayout
với ViewPagerIndicator
, tuy nhiên phần cuối cùng sẽ không hoạt động chính xác với DrawerLayout
. Khi tôi mở ứng dụng, viewpager được hiển thị một cách chính xác nhưng một khi tôi thay đổi các mảnh trong DrawerLayout, các mảnh của ViewPager sẽ biến mất.Các mảnh vỡ của ViewPager biến mất
Dưới đây là FragmentManager tôi:
FragmentManager fragmentManager = getSupportFragmentManager();
switch (arg2) {
case 0:
contentFragment = new Lebanon();
break;
}
fragmentManager.beginTransaction()
.replace(R.id.content_frame, contentFragment).commit();
Đoạn thứ hai và thứ tư trong ViewPager đang có và họ không biến mất, khi là người đầu tiên, thứ ba và thứ năm biến mất. Có gì sai trong mã của tôi?
Dưới đây là Fragment tôi:
@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;
}
}
không có phương pháp như vậy ... –
@KingOmar Đảm bảo bạn có phiên bản thư viện hỗ trợ mới nhất trong dự án của mình. – Luksprog
yeap tôi googled đó và chỉ cần kiểm tra. tôi có phiên bản mới nhất của thư viện hỗ trợ. –