显示加载图标,直到Firebase firestore将数据完全加载到textview中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示加载图标,直到Firebase firestore将数据完全加载到textview中相关的知识,希望对你有一定的参考价值。

我的应用将Firebase Firestore数据加载到其中时,如何实现加载图标?现在,当我在应用程序中加载时,它显示一个空的textview,并且一旦从数据库中获取数据,它就会弹出。我希望有一个加载屏幕,直到在显示之前将数据完全加载到活动中为止,所以没有数据弹出窗口。

我试图在此网站上查看其他解决方案,但它们全部来自不同的编程语言,或者使我难以理解。

这是我从数据库获取数据并将其存储在textView中的简单代码。

    welcomeTv = findViewById(R.id.welcomeTv);
    fStore = FirebaseFirestore.getInstance();

    fStore.collection("Users").document(FirebaseAuth.getInstance().getCurrentUser().getUid()).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {

            if (task.isSuccessful() && task.getResult() != null) {
                username = task.getResult().getString("username");
                welcomeTv.setText(username);

                //other stuff
            } else {
                Toast.makeText(HomeActivity.this, "Currently logged in", Toast.LENGTH_SHORT).show();
            }


        }
    });
答案

在项目中添加SweetAlert。因此,当数据加载时,您可以放入Sweetalert。

当您触发加载数据的事件时,启动wealalert,然后当收到数据时它将关闭

SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));
pDialog.setTitleText("Loading");
pDialog.setCancelable(false);
pDialog.show();
fStore.collection("Users").document(FirebaseAuth.getInstance().getCurrentUser().getUid()).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {

            if (task.isSuccessful() && task.getResult() != null) {
                pDialog.dismiss();
                pDialog.dismisswithAnimation();
                username = task.getResult().getString("username");
                welcomeTv.setText(username);

                //other stuff
            } else {
                pDialog.dismiss();
                pDialog.dismisswithAnimation();
                Toast.makeText(HomeActivity.this, "Currently logged in", Toast.LENGTH_SHORT).show();
            }


        }
});

以上是关于显示加载图标,直到Firebase firestore将数据完全加载到textview中的主要内容,如果未能解决你的问题,请参考以下文章

从Firebase本地实时存储Room DB上的数据

等待 firebase 加载,直到显示 View

如何在加载pdf文件之前显示加载图标?

Redux firebase - 正确处理身份验证状态(前几毫秒状态为空,直到加载)

我如何在登录 asp.net core razor 之前显示加载图标或禁用按钮

Firebase 通知始终显示空白图标