2015-10-13 2 views
0

Уважаемые дамы и господа,Android viewpager in фрагмент

Прежде всего, пожалуйста, не ставьте мой вопрос в порядок. Если вы думаете, что мой вопрос слишком глуп, пожалуйста, дайте мне знать, и я отредактирую его или удалю.

Так что мой фактический вопрос в том, что у меня есть активность (extends Activity). В макете этой деятельности, я создал FrameLayout где я тогда присоединять различные четыре фрагмента (так что каждый из них extends Fragment. Таким образом, в одном из этого фрагментов я хотел бы реализует перелистываемой вкладки (см скриншот).

Я знаю, что это обычно делается путем реализации viewPager и FragmentPagerAdapter, но я не могу это сделать, как если бы я вызывал getSupportFragmentManager в своем фрагменте, это дает мне ошибку. Если я использую getActivity().getFragmentManager(), это дает мне ошибку, что android.support.v4.app.fragmentmanager не может быть применяется к android.app.fragmentmanager. Мне нужно использовать android.support.v4.app.fragment в моем фрагменте, потому что в противном случае я не смогу реализовать представление моей активности (описано в начале).

Любые идеи или предложения были бы очень оценены. screenshot

+2

Я буду не вниз, вы назвали дорогой. – Androider

+0

@ Androider LOL. спасибо :))) – szholdiyarov

+0

@ user2912331 .. на вашем фрагменте класс расширяется с помощью класса Fragment библиотеки v4 и все работает отлично –

ответ

2

Убедитесь, что вы используете класс Fragment, который расширяет фрагменты из библиотеки поддержки. Кроме того, необходимо использовать FragmentActivity для вызова метода getSupportFragmentManager();

С другой стороны, viewpager, который находится в вашей потребности фрагмента реализован как обычно, что вы можете найти в Интернете, кроме getChildSupportFragmentManager();

Это один называется «вложенные фрагменты».

PS: Я не уверен, но вы также можете использовать AppCompatActivity вместо FragmentActivity. FragmentActivity и ActionBarActivity должно быть устарело.

Успехов

0

Вы можете использовать getChildFragmentManager() при использовании фрагментов внутри других фрагментов.

+0

все еще дает мне "android.support.v4.app.fragmentmanager не может быть применен к android.app.fragmentmanager" – szholdiyarov

+0

Я реализовал свой FragmentPagerAdapter с помощью android.support.v4.app.FragmentManager – szholdiyarov

+0

Похоже, вы используете обычный фрагмент Fragment not v4 где-то в вашем приложении. Также убедитесь, что вы распространяетесь из FragmentActivity not Activity. Ошибки, которые вы получаете, говорят о том, что вы получаете V4 FragmentManager, который является правильным, но вы пытаетесь использовать его, когда требуется не-v4 FragmentManager. – vguzzi

0

Новая версия Поддержка Библиотека v4 (Android 4.2) решить эту проблему. Для этого нужно просто сделать конструктор пользовательского FragmentPagerAdapter как это:

public CustomFragmentPagerAdapter(android.support.v4.app.Fragment fragment) 
{ 
    super(fragment.getChildFragmentManager()); 

    // write your code here 
} 

Этой работу, потому что новый Android версия одобряет использование вложенных фрагментов