我需要在这方面的帮助:显示/隐藏进度条,同时从外部来源检索数据。
我在活动布局资源文件中声明了这个进度条:
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyle"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerInParent="true"/>
在onCreate活动方法中,它是不可见的:
progressBar = (ProgressBar) findViewById(R.id.progressBar2);
progressBar.setVisibility(View.INVISIBLE);
在从de服务器检索数据之前,I show it -that是我想要做的:
progressBar.setVisibility(View.VISIBLE);
然后,当检索到数据时,我打算用以下命令再次隐藏它:
progressBar.setVisibility(View.INVISIBLE);
但当然,并不像我假装的那样工作。当应用程序与服务器联系以获取数据时,显示简单进度条的代码或这种方法有什么问题?
发布于 2020-07-09 10:55:34
如果你正在从服务器获取数据,你只需要遵循以下简单的步骤:
第1步:将进度条的可见性设置为消失/不可见。
step 2:在调用服务器之前显示进度条。
step 3:在on response success回调中,只需使进度条再次不可见。
只需遵循相同的步骤,无论是使用Retrofit还是(volley/ async任务)
发布于 2020-07-09 13:18:14
你发布的代码是正确的-你的“问题”是没有进展,所以看起来你的代码不能工作。
您还必须设置进度。通常,当下载一个文件或一些数据,或者加载一个页面时,我们会在回调中返回一个进度。如果你没有这样的东西,你可以每秒增加一次进度条(或者使用一个旋转/无限的进度条)。
这就是你要做的事情:
progressBar.setProgress(progressBar.getProgress()+1);
发布于 2020-10-02 02:49:06
代码和逻辑都是正确的,我遗漏的是为进度条设置属性"indeterminate=true“:
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyle"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerInParent="true"
android:indeterminate="true"/>
https://stackoverflow.com/questions/62805688
复制相似问题