我有一个MainActivity,它包含一个SlIDing抽屉菜单和一个FragmentContainer来切换片段.
我有一个名为History的片段,它有这样的布局
<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" xmlns:app="http://schemas.androID.com/apk/res-auto" androID:orIEntation="vertical"> <com.astuetz.PagerSlIDingTabStrip androID:ID="@+ID/tabs" androID:layout_wIDth="match_parent" androID:layout_height="60dp" androID:background="@color/colorPrimary" androID:textcolor="#FFFFFF" app:pstsIndicatorcolor="#FFFFFF" /> <androID.support.v4.vIEw.VIEwPager androID:ID="@+ID/pager" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_below="@+ID/tabs" /></relativeLayout>@H_419_8@
这堂课看起来像这样
public class HistoryFragment extends Fragment { public HistoryFragment() { // required empty public constructor } @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @OverrIDe public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment VIEw vIEw = inflater.inflate(R.layout.fragment_history, container, false); // Initialize the VIEwPager and set an adapter VIEwPager pager = (VIEwPager) vIEw.findVIEwByID(R.ID.pager); pager.setAdapter(new PagerAdapter(getActivity().getSupportFragmentManager())); // Bind the tabs to the VIEwPager PagerSlIDingTabStrip tabs = (PagerSlIDingTabStrip) vIEw.findVIEwByID(R.ID.tabs); tabs.setVIEwPager(pager); return vIEw; } class PagerAdapter extends FragmentPagerAdapter { private final String[] TitleS = {"Last Transaction", "History"}; public PagerAdapter(FragmentManager fm) { super(fm); } @OverrIDe public CharSequence getPageTitle(int position) { return TitleS[position]; } @OverrIDe public int getCount() { return TitleS.length; } @OverrIDe public Fragment getItem(int position) { switch (position) { case 0: return new LastTransaction(); case 1: return new AboutFragment(); } return null; } }}@H_419_8@
从“NavigationSlIDer”菜单调用时,“历史记录”页面首次正常工作.历史页面包含两个带有两个片段的滑动选项卡.这些是第一次显示,一切正常.
问题发生在第二次或之后.
没有显示错误,加载了布局,显示了滑动标签,但没有显示它们的碎片,滑块出现故障.
这个问题可能是什么原因?
根据这个StackOverflow的答案,我尝试使用不同的方法来实现片段中的滑块.仍然是同样的问题.
提前致谢.
解决方法:
更换
pager.setAdapter(new PagerAdapter(getActivity().getSupportFragmentManager()));@H_419_8@
同
pager.setAdapter(new PagerAdapter(getActivity().getChildFragmentmanager()));@H_419_8@
原因:
总结The CHILD FragmentManager is the one that handles Fragments contained within the Fragment that it was added to.
以上是内存溢出为你收集整理的android – 片段中的滑动标签从第二次出现故障全部内容,希望文章能够帮你解决android – 片段中的滑动标签从第二次出现故障所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)