2017-01-16 3 views
1

Я пытаюсь настроить viewPager с двумя фрагментами. Я использую библиотеку поддержки v4 для FragmentPagerAdapter, как в образце деятельности Android в Android Studio, вот как это выглядит:Camera2 in FragmentPagerAdapter

public class SectionsPagerAdapter extends FragmentPagerAdapter { 

    SectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int position) { 

     switch (position){ 
      case 0: 
       return FirstFragment.newInstance(); 
      case 1: 
       return CameraFragment.newInstance(); 
      default: 
       return null; 
     } 
    } 

    @Override 
    public int getCount() { 
     // Show 2 total pages. 
     return 2; 
    } 

} 

Мой вопрос приходит, потому что я пытаюсь реализовать пример Google Camera2 как мой фрагмент камеры. Эти фрагменты являются родными фрагментами, а PagerAdapter ожидает поддержки .v4.Fragments.

Я попытался использовать v13 FragmentPagerAdapter, но это не может использовать v4.FragmentManager, и у него нет собственного FragmentManager.

Я также попытался преобразовать CameraFragment в фрагмент v4, но там есть какой-то код, который не компилируется в библиотеку поддержки v4.

Как это решить?

+0

Удалось ли вам решить эту проблему? – ryderd

+0

Я решил реализовать его по-другому, но я решил бы вернуться к этой реализации позже, так как считаю, что нашел решение. –

ответ

0

Я считаю, что нашел решение этой проблемы, поскольку у меня была та же проблема. Имейте в виду, что я не очень опытный разработчик Android, поэтому мое решение может представить недостатки, однако, я думаю, что это может вам помочь. Ваш пробег майский.

Я использую android.support.v13.app.FragmentPagerAdapter с родным Android.app.Fragment и Android.app.FragmentManger. V4 Support Library используется для остальной части соответствующего импорта для этой функции.

импорт (s)

import android.app.Fragment; 
import android.support.v13.app.FragmentPagerAdapter; 
import android.app.FragmentManager; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.ViewPager; 

Мои другие фрагменты следуют той же конструкции, как показано в сообщении.

Примечания

  1. Я добавил зависимость compile 'com.android.support:support-v13:25.3.1' сборки в файл build.gradle. Согласно the docs, это последняя версия зависимости для этой библиотеки. Вы можете увидеть, как добавить зависимости сборки, in the docs.
  2. Я считаю, что рекомендуется продлить ваш Activity, что вы будете использовать для ViewPager из Fragment, если вы используете родную android.app.Fragment, но мой код, кажется, работает при расширении от FragmentActivity, а также.