[英]Show snackbar after startactivity
我在我的應用程序中創建了一個退出按鈕。
一旦用戶單擊退出,它就會退出並移動登錄活動。
我曾經喜歡一旦用戶單擊退出,它將移動到登錄頁面,然后顯示snackbar
說“您已成功退出”。
如何讓snackbar
僅在移動到新活動后才出現? 因為現在它不會顯示,因為它改變了活動。
public void signOut(){
auth.signOut();
AuthUI.getInstance()
.signOut(this)
.addOnCompleteListener( task -> {
Intent intent = new Intent(ChangePassActivity.this, SignInActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_CLEAR_TASK |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Pop_Snack("you have been signed out successfully");
finish();
} );
}
public void Pop_Snack(String text){
Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content),text,Snackbar.LENGTH_SHORT);
View sbView = snackbar.getView();
sbView.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
TextView tv = (TextView) (snackbar.getView()).findViewById(com.google.android.material.R.id.snackbar_text);
Typeface font = ResourcesCompat.getFont(getBaseContext(), R.font.assistant);
tv.setTypeface(font);
tv.setTextSize( 14 );
snackbar.setAnchorView(findViewById( R.id.bottom_navigation ));
snackbar.setDuration( 5000 );
snackbar.show();
}
謝謝
您可以在要顯示Snackbar
的活動中創建 static boolean
變量isloggedOut
默認為false
。 當您從活動中注銷時,將boolean
變量設置為true
並簽入要顯示Snackbar
的新活動的onCreate
方法。
if(isloggedOut){
Snackbar snackbar = Snackbar.make(view, "Text to display",
Snackbar.LENGTH_LONG);
snackbar.show();
}
在您的注銷方法中
public void signOut(){
auth.signOut();
AuthUI.getInstance()
.signOut(this)
.addOnCompleteListener( task -> {
Intent intent = new Intent(ChangePassActivity.this, SignInActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_CLEAR_TASK |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
NewActivity.isloggedOut = true;
finish();
} );
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.