我有一些 onCreate 函数需要几秒钟的活动,因为我必须从 firebase 数据库加载一些数据。如何在加载活动时显示进度条?
编辑: 这是我的活动,如果我设置背景,我无法隐藏进度条:
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_torim);
pb = findViewById(R.id.pb);
pb.setVisibility(View.VISIBLE);
mStorageRef = FirebaseStorage.getInstance().getReference("backgrounds");
try {
setBackground();
} catch (IOException e) {
e.printStackTrace();
}
dbreference.child(uid).child("name").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
//some code
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
// some buttons
}
private void setBackground() throws IOException {
StorageReference imageRef = mStorageRef.child("background.jpeg");
final File localFile = File.createTempFile("Images", "jpg");
imageRef.getFile(localFile)
.addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
final Bitmap bitmap = BitmapFactory.decodeFile(localFile.getAbsolutePath());
Drawable d = new BitmapDrawable(getResources(), bitmap);
d.setAlpha(127);
getWindow().setBackgroundDrawable(d);
pb.setVisibility(View.GONE);
pb.clearAnimation();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle failed download
// ...
}
});
}
@Override
public void onBackPressed() {
//some code
}