3

如何确保一旦碎片被销毁后,任何可见的Snackbar(特别是那些带有snackbar.length_indefinite的)都将被解雇?关闭碎片上的活动零食吧销毁

我应该为所有的Snackbars使用一个普通的globar变量,然后调用dismiss吗?像下面的东西?

Fragment1.java

private Snackbar snackbar; 

@Override 
public onDestroy(){ 
    snackbar.dismiss(); 
} 

public Method1(){ 
    snackbar = Snackbar.make(ActivityMain.coordinatorLayout, "Text 1", snackbar.length_indefinite); 
    snackbar.show(); 
} 

public Method2(){ 
    snackbar = Snackbar.make(ActivityMain.coordinatorLayout, "Text 2", snackbar.length_indefinite); 
    snackbar.show(); 
} 
//coordinatorLayout is a static variable in ActivityMain which stores reference to the CoordinatorLayout 

回答

2

我怎样才能确保一旦片段 摧毁任何可见的小吃吧(特别是那些与 snackbar.length_indefinite)将被解雇?

要解雇那称为onDestroy();方法,因为您已完成

我应该为所有的Snackbars使用一个普通的globar变量,并且打电话给 解雇吗?像下面的东西?

是,你能做到这样,因为小吃吧是在课堂上使用很多次。所以最好宣布它是全球性的。小吃店对developer.android.com

+0

虽然这是一个旧的文章

检查更多的细节,只是想补充一点,如果你打算显示多个小吃吧(非同时),在片段的寿命有glibal小吃吧变量将无法正常工作。 – abdfahim