首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android Progressbar在加载数据时显示/隐藏

Android Progressbar在加载数据时显示/隐藏
EN

Stack Overflow用户
提问于 2020-07-09 08:45:14
回答 3查看 676关注 0票数 0

我需要在这方面的帮助:显示/隐藏进度条,同时从外部来源检索数据。

我在活动布局资源文件中声明了这个进度条:

代码语言:javascript
运行
复制
   <ProgressBar
        android:id="@+id/progressBar2"
        style="?android:attr/progressBarStyle"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerInParent="true"/>

在onCreate活动方法中,它是不可见的:

代码语言:javascript
运行
复制
progressBar = (ProgressBar) findViewById(R.id.progressBar2);
progressBar.setVisibility(View.INVISIBLE);

在从de服务器检索数据之前,I show it -that是我想要做的:

代码语言:javascript
运行
复制
progressBar.setVisibility(View.VISIBLE);

然后,当检索到数据时,我打算用以下命令再次隐藏它:

代码语言:javascript
运行
复制
 progressBar.setVisibility(View.INVISIBLE);

但当然,并不像我假装的那样工作。当应用程序与服务器联系以获取数据时,显示简单进度条的代码或这种方法有什么问题?

EN

回答 3

Stack Overflow用户

发布于 2020-07-09 10:55:34

如果你正在从服务器获取数据,你只需要遵循以下简单的步骤:

第1步:将进度条的可见性设置为消失/不可见。

step 2:在调用服务器之前显示进度条。

step 3:在on response success回调中,只需使进度条再次不可见。

只需遵循相同的步骤,无论是使用Retrofit还是(volley/ async任务)

票数 0
EN

Stack Overflow用户

发布于 2020-07-09 13:18:14

你发布的代码是正确的-你的“问题”是没有进展,所以看起来你的代码不能工作。

您还必须设置进度。通常,当下载一个文件或一些数据,或者加载一个页面时,我们会在回调中返回一个进度。如果你没有这样的东西,你可以每秒增加一次进度条(或者使用一个旋转/无限的进度条)。

这就是你要做的事情:

代码语言:javascript
运行
复制
progressBar.setProgress(progressBar.getProgress()+1);
票数 0
EN

Stack Overflow用户

发布于 2020-10-02 02:49:06

代码和逻辑都是正确的,我遗漏的是为进度条设置属性"indeterminate=true“:

代码语言:javascript
运行
复制
<ProgressBar
 android:id="@+id/progressBar2"
 style="?android:attr/progressBarStyle"
 android:layout_width="150dp"
 android:layout_height="150dp"
 android:layout_centerInParent="true"
 android:indeterminate="true"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62805688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档