gpt4 book ai didi

java - 如何在不使用线程的情况下更新 fragment 中的进度条

转载 作者:行者123 更新时间:2023-12-02 02:45:38 24 4
gpt4 key购买 nike

我尝试更新 fragment 中的progresseBar的进度,但没有任何反应。我不使用线程,也不想使用线程。

我发现了很多关于此的主题,我尝试使用:setProgress(0)setMax(max) 之前更新了值,但没有成功。

代码:

  scoreABar.setProgress(0);
scoreBBar.setProgress(0);
scoreCBar.setProgress(0);
scoreDBar.setProgress(0);
scoreEBar.setProgress(0);
scoreABar.setMax(100);
scoreBBar.setMax(100);
scoreCBar.setMax(100);
scoreDBar.setMax(100);
scoreEBar.setMax(100);
scoreABar.setProgress((int) scoreA);
scoreBBar.setProgress((int) scoreB);
scoreCBar.setProgress((int) scoreC);
scoreDBar.setProgress((int) scoreD);
scoreEBar.setProgress((int) scoreE);

此代码位于我的 fragment 的 OnCreatView() 中的方法调用中。我确信我的值发生了变化,但进度条没有更新。

最佳答案

最好在 xml 中定义每个进度条,如下所示:

<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="false"
android:max="100"
android:progress="0" />

然后您可以使用 scoreBar.setProgress((int) Score); 设置进度,如果它适合您,请尝试一下

编辑:您想要显示进度的任务应该在后台线程中运行,但您应该始终从主线程更新进度,例如使用 activity.runOnUiThread() 方法

关于java - 如何在不使用线程的情况下更新 fragment 中的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57146760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com