我遇到了问题,如标题中所述。当我实施标签时,他们不会显示内容,标签也不平滑,就像这个问题一样:
TabLayout with viewpager not smooth scrolling
所以他们可以在两者之间停下来等等。
你觉得我做错了什么?我附上显示它的片段的代码:
public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_profile, container, false);
ButterKnife.bind(this,view);
tabLayout.addTab(tabLayout.newTab().setText(getResources().getString(R.string.news_feed)));
tabLayout.addTab(tabLayout.newTab().setText(getResources().getString(R.string.bio)));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
mPager.setAdapter(new PagerAdapter(getActivity().getSupportFragmentManager()));
tabLayout.setupWithViewPager(mPager);
return view;
}
布局:
<FrameLayout 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:background="#FFFFFF"
tools:context="com.my.app.profileFragment">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_below="@id/main_profile_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:elevation="6dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<!--android:minHeight="?attr/actionBarSize"-->
<!--android:layout_below="@+id/toolbar"-->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
</FrameLayout>
这里有什么问题?我真的无法发现错误。
提前谢谢!
此致,
的Grzegorz
答案 0 :(得分:5)
如果您希望片段的行为与片段容器相同,则必须使用片段的getChildFragmentManager()
方法。如果使用getSupportFragmentManager()
,您基本上将使用片段管理器,其行为与活动生命周期的方式相同,而不是片段的方式。 (Reference)
因此,不要使用getActivity().getSupportFragmentManager()
,而是使用getChildFragmentManager()