android– 片段中的滑动标签从第二次出现故障

android– 片段中的滑动标签从第二次出现故障,第1张

概述我有一个MainActivity,它包含一个Sliding抽屉菜单和一个FragmentContainer来切换片段.我有一个名为History的片段,它有这样的布局<RelativeLayoutxmlns:android="http://schemas.android.com/apkes/android"xmlns:tools="http://schemas.android.comools"android

我有一个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 – 片段中的滑动标签从第二次出现故障所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)