[英]How to work with swipable tabs with bottom navigation
Hi, I have been trying to use swipe tab with bottom navigation bar, but on re-selection of tab swipe lacks and nothing shows. 嗨,我一直在尝试使用底部导航栏的滑动选项卡,但是重新选择选项卡时却没有滑动并且什么都没显示。 I am calling fragments of swipe tabs from bottom bar fragment.
我正在从底部栏片段中调用滑动选项卡的片段。 This is my code
这是我的代码
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;
}
}
Use getChildFragmentManager()
instead of getFragmentManager()
. 使用
getChildFragmentManager()
代替getFragmentManager()
。 See viewpager didnt show anything after change bottom navigation menu . 更改底部导航菜单后,请参阅viewpager未显示任何内容 。 I've tried it and it work perfectly
我已经尝试过了,并且效果很好
Try with this 试试这个
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
It there is parent view pager for bottom navigation then you can also use this 它有用于底部导航的父视图传呼器,那么您也可以使用它
parrentViewPager.setOffscreenPageLimit(4);
I had that problem too. 我也有这个问题。 My problem was that I had two
ViewPager
s in two different tabs of BottomNavigation and they both contained ViewPager in layout: 我的问题是我在
ViewPager
的两个不同选项卡中有两个ViewPager
,并且它们都在布局中包含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" />
After I change the ID of one of them to differentiate, it worked! 在更改其中一个的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" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.