Intereting Posts
Как отключить перепросмотр ListView в Android 2.2? Как проверить наличие датчика GPS? Как запустить камеру непосредственно с веб-страницы в Android Android – приложение для индексирования приложений Firebase не отображается в предложениях автозаполнения google Каков правильный способ получить данные у поставщика контента, если у вас есть строка uri? Как повторить шаблон в пользовательском представлении до границ? Как создать различные варианты сборки, указывающие на разные серверы? SSL-соединение с сетевой библиотекой Volley на Android Как установить выбор счетчика по id не положению Маскирование Drawable / Bitmap на Android «Не удается разрешить метод openFileOutput (Java.lang.String, int)» Android говорит, что не может решить метод getExternalFilesDir (null) ' Как оживить вид, чтобы скрыть под другим видом, а затем анимировать из этого представления Есть ли способ ограничить количество методов в основном файле dex при использовании функции MultiDex в Android Studio XMLResourceParser, я не уверен, как читать XML, который у меня есть

Фрагменты ViewPager исчезают

Я использую DrawerLayout с ViewPagerIndicator , однако последнее не будет корректно работать с DrawerLayout . Как только я открываю приложение, viewpager отображается правильно, но как только я изменяю фрагменты в DrawerLayout, фрагменты ViewPager исчезают.

Вот мой FragmentManager:

 FragmentManager fragmentManager = getSupportFragmentManager(); switch (arg2) { case 0: contentFragment = new Lebanon(); break; } fragmentManager.beginTransaction() .replace(R.id.content_frame, contentFragment).commit(); 

Второй фрагмент и четвертый в ViewPager есть, и они не исчезли, в то время как первый, третий и пятый исчезают. Что случилось в моем коде?

Вот мой фрагмент:

 @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; } } 

Используйте getChildFragmentManager() с помощью GoogleMusicAdapter :

 adapter = new GoogleMusicAdapter(getChildFragmentManager()); 

Потому что фрагменты, используемые ViewPager являются вложенными фрагментами.