首先,我使用以下链接中的 ViewPagerIndicator 来显示我的视图寻呼机中的视图计数:http: //viewpagerindicator.com/
我只使用了通常代码的 CirclePageIndicator ......我的 XML 看起来像这样:
<FrameLayout
android:id="@+id/detailFragment"
android:name="detailFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/pageIndicator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:fillColor="@android:color/black"
app:pageColor="@android:color/white"
app:radius="6dp"
app:strokeColor="@android:color/darker_gray"
app:strokeWidth="1dp" />
</FrameLayout>
我设置适配器和指示器的 java 代码也没什么特别的,将在下面发布(来自我的活动类)
final ViewPager pager = (ViewPager) this.findViewById(R.id.viewpager);
final DutyViewPager adapter = new DutyViewPager(this.getFragmentManager(), pkid, pager.getAdapter());
pager.setAdapter(adapter);
final CirclePageIndicator cIndicator = (CirclePageIndicator) this.findViewById(R.id.pageIndicator);
cIndicator.setViewPager(pager);
问题:可以说,我们有一个导航,其中有两个元素链接到两个不同的 ViewPagerAdapter。第一个元素链接到适配器A,它显示2 个片段的计数,第二个元素链接到适配器B,它显示3 个片段的计数。单击第一个元素后,我的视图将使用适配器A更新,从适配器加载第一个片段并显示2 个圆圈作为适配器计数 - 所以基本上,到目前为止一切都如预期的那样。单击第二个元素后,我的视图正在加载适配器B,但视图仍然只显示 2 个圆圈,所以我猜指示器没有更新或其他什么......问题在我向右滑动以显示适配器 B中的下一个片段时得到解决。(滑动后显示3个圆圈)
只是想知道是我自己还是其他人也遇到了这个问题(和解决方案)?