Closed liuwen370494581 closed 2 years ago
因为是做了下拉刷新,所以会多次调用setNavigator()这个方法,麻烦有知道的朋友解决一下 谢谢了
TabFragmentAdapter mTabFragmentAdapter = new TabFragmentAdapter(getChildFragmentManager(), roomDevice);
mViewPager.setAdapter(mTabFragmentAdapter);
final FragmentContainerHelper mFragmentContainerHelper = new FragmentContainerHelper();
commonNavigator7 = new CommonNavigator(getContext());
commonNavigator7.setScrollPivotX(0.65f);
commonNavigator7.setAdapter(new CommonNavigatorAdapter() {
@Override
public int getCount() {
return mTitles.size();
}
@Override
public IPagerTitleView getTitleView(Context context, final int index) {
SimplePagerTitleView simplePagerTitleView = new ColorFlipPagerTitleView(context);
simplePagerTitleView.setText(mTitles.get(index));
simplePagerTitleView.setNormalColor(Color.GRAY);
simplePagerTitleView.setSelectedColor(Color.BLACK);
simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mFragmentContainerHelper.handlePageSelected(index);
mViewPager.setCurrentItem(index);
}
});
return simplePagerTitleView;
}
@Override
public IPagerIndicator getIndicator(Context context) {
LinePagerIndicator indicator = new LinePagerIndicator(context);
indicator.setMode(LinePagerIndicator.MODE_EXACTLY);
indicator.setLineHeight(UIUtil.dip2px(context, 4));
indicator.setLineWidth(UIUtil.dip2px(context, 25));
indicator.setRoundRadius(UIUtil.dip2px(context, 3));
indicator.setStartInterpolator(new AccelerateInterpolator());
indicator.setEndInterpolator(new DecelerateInterpolator(2.0f));
indicator.setColors(Color.parseColor("#00c853"));
return indicator;
}
});
mMagicIndicator.setNavigator(commonNavigator7);
mFragmentContainerHelper.attachMagicIndicator(mMagicIndicator);
ViewPagerHelper.bind(mMagicIndicator, mViewPager);
根据debug 多次调用这个方法后 必出现文字不显示的bug!如果吧 removeAllViews(); 这个方法注释 则不会 不知道哪里出了问题