如何在包含回收器视图的活动开始时显示进度栏,一旦回收器视图从Firebase数据库加载数据,该进度条应该被隐藏?
在 onCreate 方法中,我正在显示我的ProgressBar,但是我不知道何时应该隐藏它。
你们能给我一些想法吗?谢谢
答案 0 :(得分:2)
假设您正在使用x %>%
{list(.['a'], .['b'], ns)} %>%
pmap(mult) %>%
setNames(paste0('new', seq_along(ns))) %>%
cbind(x)
# new1 new2 a b
# 1 3 6 1 2
# 2 5 10 2 3
# 3 7 14 3 4
来解决此问题,请创建一个FirestoreRecyclerAdapter
的新对象,并开始在ProgressBar
方法中显示它,或者如果您想直接将其添加到您的.XML文件,最后在您的适配器类中,重写以下方法:
onCreate()
答案 1 :(得分:1)
您应该提供您的代码。但是我会尝试用我的代码来解释。 (我的代码使用LovelyProgressDialog作为ProgressBar,因为我喜欢UI。但是您可以使用自己喜欢的ProgressBar进行更改)
首先,您可以在onCreate方法中显示进度条(如果使用Fragment而不是Activity,则可以显示onCreateView)。
@Override
public View onCreate(Bundle savedInstanceState) {
//Enter your code here
dialogGetAllData.setCancelable(false)
.setIcon(R.drawable.ic_add_friend)
.setTitle("Get all friend....")
.setTopColorRes(R.color.colorPrimary)
.show();
getListData();
}
然后从Firebase获取所有数据(这意味着dataSnapshot已经为空)之后,关闭进度条
private void getListData() {
FirebaseDatabase.getInstance().getReference().child("friend/" + StaticConfig.UID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
HashMap mapRecord = (HashMap) dataSnapshot.getValue();
Iterator listKey = mapRecord.keySet().iterator();
while (listKey.hasNext()) {
String key = listKey.next().toString();
listFriendID.add(mapRecord.get(key).toString());
}
} else {
dialogGetAllData.dismiss();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}