2

在此处输入图像描述

嗨,我一直在尝试使用带有底部导航栏的滑动选项卡,但是在重新选择选项卡时,滑动缺少并且没有任何显示。我正在从底部栏片段中调用滑动标签的片段。这是我的代码

    public class WalletFragment extends Fragment {
    private ViewPager viewPager;
    private WalletTabsAdapter mAdapter;
    PagerSlidingTabStrip wallettabs;
    // Tab titles

    public static WalletFragment newInstance(int instance) {
        Bundle args = new Bundle();
        args.putInt("input", instance);
        WalletFragment fragment = new WalletFragment();
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_wallet, container, false);
        // Initilization
        viewPager = (ViewPager) rootView.findViewById(R.id.walletpager);
        wallettabs = (PagerSlidingTabStrip) rootView.findViewById(R.id.wallettabs);
        mAdapter = new WalletTabsAdapter(getFragmentManager());
        viewPager.setAdapter(mAdapter);
        wallettabs.setViewPager(viewPager);
        /**
         * on swiping the viewpager make respective tab selected
         * */
        return rootView;
    }
}
4

3 回答 3

4

使用getChildFragmentManager()而不是getFragmentManager(). 更改底部导航菜单后,查看viewpager 没有显示任何内容 。我试过了,效果很好

于 2017-04-20T10:18:48.323 回答
0

试试这个

viewPager = (ViewPager) rootView.findViewById(R.id.walletpager);
    wallettabs = (PagerSlidingTabStrip) rootView.findViewById(R.id.wallettabs);
    mAdapter = new WalletTabsAdapter(getFragmentManager());
    viewPager.setAdapter(mAdapter);
    wallettabs.setViewPager(viewPager);
    viewPager.setOffscreenPageLimit(2); // add this line

它有用于底部导航的父视图寻呼机,那么您也可以使用它

parrentViewPager.setOffscreenPageLimit(4);
于 2017-01-17T05:59:24.243 回答
0

我也有这个问题。我的问题是我ViewPager在 BottomNavigation 的两个不同选项卡中有两个 s,它们都在布局中包含 ViewPager:

 <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

在我更改其中一个的 ID 以区分之后,它起作用了!

 <android.support.v4.view.ViewPager
        android:id="@+id/container2" <!-- Changed ID -->
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
于 2017-03-28T07:30:21.297 回答