在两个活动之间创建一个进度条没有 %,直到加载第二个活动的内容

问题描述

我有一个带有按钮的主活动,按下该按钮会打开第二个活动。第二个 Activity 将大量数据从 Firebase 加载到 RecyclerView,这需要一些时间。当我点击 Main Activity 按钮时,我想打开一个带有进度条的页面不显示百分比),只有当第二个 Activity 完全加载时,进度条才会关闭显示第二个 Activity 的内容。做这个的最好方式是什么?任何的想法?谢谢。

解决方法

当你在onCreate方法中切换第二个activitiy时,如果你以编程方式实现进度条,在实例化之后将其设置为infinite并添加到视图层次中。然后当您的数据在后台完成时,只需使用 View.GONE 属性隐藏假设您使用 Java 和垂直线性布局。

ProgressBar progressBar = new ProgressBar(this);
progressBar.setIndeterminate(true);
yourLinearLayout.addView(progressBar);
...
// Once your data has been loaded hide the progress bar
progressBar.setVisibility(View.GONE);
// Or remove it
yourLinearLayout.removeView(progressBar);
,

在xml布局文件中使用ProgressBar(在需要展示的fragment/activity中),像这样

    <RelativeLayout
        android:id="@+id/progressLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white">

        <ProgressBar
            android:id="@+id/progressBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />
   </RelativeLayout>

并在关联的活动文件中,将可见性设置为 GONE。 在调用加载数据的方法的地方执行此操作。

progressLayout.visibility = View.GONE

如果您可以将那部分代码添加到您的问题中,那么帮助起来会更容易。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...