我在viewpager页面0中有一个进度条。 这是进度条:
<ProgressBar
android:id="@+id/mytask_today_progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="113dp"
android:layout_height="113dp"
android:indeterminate="false"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/custom_progress_small"
android:secondaryProgress="0" />
现在加载该页面时,我将进度条设置为0,我得到如下所示的完美屏幕:
这是我使用的代码:
mainActivity.sout("per_mytask_today : "+per_mytask_today);
mytask_today_progressBar.setProgress(1);
mainActivity.sout("mytask_today_progressBar.getprogress() : "+mytask_today_progressBar.getProgress());
mytask_week_progressBar.setProgress(0);
mytask_today_progresstxt.setText(1+"");
mytask_week_progresstxt.setText(0+"");
当我像这样交换视图寻呼机的页面并返回到同一页面时,进度条设置为0被更改。像这样:
如您所见,进度条设置为1(或事实上,1-100中的任何其他值)不会更改,只会更改为0。
这是我用过的drawable(这是一个问题):
<?xml version="1.0" encoding="utf-8"?>
<item>
<!-- Our second ring -->
<shape android:shape="ring"
android:useLevel="true"
android:innerRadius="40dp"
android:thicknessRatio="8">
<solid android:color="@color/colorPrimaryDark"> </solid>
</shape>
</item>
</layer-list>
答案 0 :(得分:0)
更可能取决于您设置进度的位置。理想情况下,您应该将该代码放在onPageSelected
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//Set your progress here
}
@Override
public void onPageScrollStateChanged(int state) {
}
});