簡體   English   中英

startactivity 后顯示小吃吧

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM