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