TabPageIndicator ViewPager has not been bound 的异常解决

时间:2022-12-17 23:57:29

今天在工作中使用 TabPageIndicator时,在满座某一条件,跳转到一个Fragment,这个Fragment里面使用的有

TabPageIndicator,但是在切换时报异常,提示ViewPager has not been bound,查了一些资料,发现需要把

Fragment对应的布局中的TabPageIndicator设置为 android:visibility="gone",等数据加载完成之后再设置为

visiable即可。

 <com.qqe.hangjia.view.indicator.TabPageIndicator
            android: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);