今天在工作中使用 TabPageIndicator时,在满座某一条件,跳转到一个Fragment,这个Fragment里面使用的有
TabPageIndicator,但是在切换时报异常,提示ViewPager has not been bound,查了一些资料,发现需要把
Fragment对应的布局中的TabPageIndicator设置为 android:visibility="gone",等数据加载完成之后再设置为
visiable即可。
<com.qqe.hangjia.view.indicator.TabPageIndicatorandroid:id="@+id/order_hj_indicator"
style="@style/Theme.PageIndicatorDefaults"
android:background="#c1e7d6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dp"
android:visibility="gone"/> //隐藏
// 行家订单
itemPagerList = new ArrayList<BasePager>();
itemPagerList.add(new HJNewOrderPager(ctx)); // 新订单
itemPagerList.add(new HJNoFinishPager(ctx)); // 未完成
itemPagerList.add(new HJNeedRespond(ctx)); // 待响应
itemPagerList.add(new HJHistoryPager(ctx)); // 历史订单
title = new String[] { "新订单", "未完成", "待响应", "历史订单" };
pageAdapter = new MyPagerAdapter();
frag_order_viewpager_content.setAdapter(pageAdapter);
indicator.setVisibility(View.VISIBLE); 在indicator与viewpager绑定之前显示indiactor
// 将页面指针,与viewPager绑定
indicator.setViewPager(frag_order_viewpager_content);
// 初始化viewPager 中第二页的数据
indicator.setCurrentItem(0);