Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android progressbar.setprogress(0)时面临的问题_Android_Android Progressbar - Fatal编程技术网

Android progressbar.setprogress(0)时面临的问题

Android progressbar.setprogress(0)时面临的问题,android,android-progressbar,Android,Android Progressbar,我在viewpager页面0中有一个进度条。 这是progressbar: <ProgressBar android:id="@+id/mytask_today_progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="113dp"

我在viewpager页面0中有一个进度条。 这是progressbar:

 <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" />
    <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>
当我像这样交换view pager的页面并返回到同一页面时,设置为0的progressbar被更改。像这样:

    <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>

    <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>

    <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>
如您所见,progressbar设置为1(或者事实上,1-100中的任何其他值)不会更改,只会更改为0

    <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>
这是我在这方面使用的绘图工具(这是否造成问题):

    <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>

    <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>


这更可能取决于您设置进度的位置。理想情况下,您应该将该代码放在所选页面的
onPageSelected

    <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>
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) {

        }
    });

我认为您的最后一行代码总是将文本设置为
0
,而与实际值无关
mytask\u week\u progresstxt.setText(0+“”)
。因此,基本上您需要将
.setText
更改为what-ever值,而不是将其设置为静态。不,但它适用于1-100之间的值。仅对于0,它会导致问题,但当我设置0以外的值时,为什么它不会导致问题?您可能会将该设置代码设置为初始状态的某个位置,当您的ViewPager调用时,该代码会调用一次,而您的页面滑动时不应调用该代码。