Android ViewPagerIndicator 不刷新

标签 android android-viewpager viewpagerindicator

首先,我使用以下链接中的 ViewPagerIndicator 来显示我的 view-pager 中的观看次数: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 代码也没什么特别的,将在下面发布(来 self 的 Activity 类)

  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 个 fragment 的计数,第二个元素链接到适配器 B,它显示一个3 个 fragment 的计数。单击第一个元素后,我的 View 将使用适配器 A 更新,从适配器加载第一个 fragment 并将 2 个圆圈 显示为适配器计数 - 所以基本上,一切都是预计到现在。 单击第二个元素后,我的 View 正在加载适配器 B但 View 仍然只显示 2 个圆圈, 所以我猜指示器没有更新或其他原因。 .. 当我向右滑动以显示 adapter B 中的下一个 fragment 时,问题已解决。 (滑动后显示3个圆圈)

只是想知道是否只有我遇到了这个问题(以及解决方案)?

最佳答案

我之前也遇到过同样的问题,查看了CirclePageIndicator.java中的onDraw方法,发现是snap设置为true导致的。将 snap 更改为 false 后,一切看起来都很好。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="StyledIndicators" parent="Theme.Light">
        <item name="vpiCirclePageIndicatorStyle">@style/CustomCirclePageIndicator</item>
    </style>

    <style name="CustomCirclePageIndicator">
        <item name="snap">false</item>
    </style>
</resources>

关于Android ViewPagerIndicator 不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14210968/

相关文章:

android - 如何增加 webrtc 中的麦克风增益

android - 图像未显示在 ImageViewZoom 中

android - ViewPagerIndicator 不改变颜色

android - 缺少 ViewPagerIndicator 依赖项

android - 滑动菜单上的奇怪偏移行为

java - 如何使用 getTargetFragment 和 setTargetFragment 将结果发送到前一个 fragment

android - 如何通过套接字读取 HTTP 响应?

android - android中的getCount()不返回行数

Android 在 SwipeView 中显示数据库

安卓:用viewpager制作imageview