我已经尝试了很多教程,但我对android很新,所以这是我的问题。我需要一个导航抽屉片段内的Viewpager。
我有一个带有MainActivity的抽屉布局和片段A,B,C和D.
在片段C上我有我的布局,比如textViews,imageViews,我需要在iOS设备上添加一个viewPager。
问题是每个教程,以及这里回答的问题,说要在Activity上启动PageAdapter,但是我需要在Fragment上使用它,因为它是我有信息来填充C片段的信息。
应该出现的视图分页器,只包含一个填充了webservice请求的textView,我将消息放在textView上,这就是为什么我需要在Fragment 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 studio显示此消息:android.support.v4.app.fragmentmanager与android.support.app.fragmentmanager
不匹配我尝试更改为支持v13,但无效。
有人可以帮助我吗?
答案 0 :(得分:0)
您定位的是哪种兼容级别?你需要让一切都匹配:
从您的XML()我可以看到您定位到v4,因此您可能希望将所有内容更改为v4。