Я уже перепробовал много руководств, но я новичок в Android, так что вот моя проблема. Мне нужен Viewpager внутри фрагмента навигационного ящика.
У меня есть макет ящика с MainActivity и фрагментами A, B, C и D.
На фрагменте C у меня есть макет, например textViews, imageViews, и мне нужно добавить viewPager, как на устройствах iOS. Проблема заключается в каждом учебнике, и здесь даны ответы на вопросы, в которых говорится, что нужно запустить PageAdapter в Activity, но мне нужно использовать его во фрагменте, потому что там у меня есть информация для заполнения информации фрагмента C.
Пейджер просмотра, который должен появиться, содержит только textView, который заполняется запросом веб-службы, где я получаю сообщение, которое нужно поместить в textView, поэтому мне это нужно во фрагменте C.
Итак, вот мой pageAdapter :
public class PageAdapter extends FragmentPagerAdapter {
private String message;
public PageAdapter(FragmentManager fm , String message) {
super(fm);
this.message = message;
}
/**
* Get fragment corresponding to a specific position. This will be used to populate the
* contents of the view pager
*
* @param position Position to fetch fragment for.
* @return Fragment for specified position.
*/
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
Fragment fragment = new PageVestiarioFragment();
Bundle args = new Bundle();
args.putString("message", message);
fragment.setArguments(args);
return fragment;
}
/**
* Get number of pages the should render.
*
* @return Number of fragments to be rendered as pages.
*/
@Override
public int getCount() {
// Show 3 total pages.
return 3;
}
}
А это мой элемент pageViewer:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:id="@+id/pageViewLayout"
tools:context="com.example.mobirama.golaco.VestiarioFragment">
<TextView
android:id="@+id/message_TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mensagem recebida via rest"
android:textSize="20sp"
android:textColor="@color/text_green" />
</RelativeLayout>
И это мой макет фрагмента C, пока информации слишком много, я помещу только ту часть, где есть просмотр страницы (это внутри relativeLayout)
<HorizontalScrollView
android:id="@+id/messages_ScrollView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
</HorizontalScrollView>
Просто часть того, где я установил информацию
for (Integer i = 0; i < messages.length; i++) {
if (messages[i] != null) {
items.add(messages[i]);
mAdapter = new PageAdapter(getChildFragmentManager() , messages[i].getMessage());
pager.setAdapter(mAdapter);
}
}
Проблема в том, что студия Android показывает это сообщение: android.support.v4.app.fragmentmanager не соответствует android.support.app.fragmentmanager
Я попытался перейти на поддержку v13, но у меня ничего не вышло.
Кто-нибудь может мне помочь?