显示加载图标,直到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中的主要内容,如果未能解决你的问题,请参考以下文章
Redux firebase - 正确处理身份验证状态(前几毫秒状态为空,直到加载)