【问题标题】:Dismiss active snack bar on Fragment destroy关闭 Fragment destroy 上的活动小吃店
【发布时间】:2016-06-22 00:14:22
【问题描述】:

我如何确保任何可见的 Snackbar(特别是带有snackbar.length_indefinite 的)在片段被销毁后会被解除?

我应该为所有 Snackbar 使用一个通用的 globar 变量并调用驳回吗?像下面这样的?

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

【问题讨论】:

    标签: android android-layout android-studio android-fragments android-snackbar


    【解决方案1】:

    我怎样才能确保任何可见的 Snackbar(特别是那些 一旦片段被关闭,snackbar.length_indefinite) 将被解雇 毁了?

    要关闭它,调用它 onDestroy();方法就像你做的那样

    我是否应该为所有 Snackbar 使用一个通用的全局变量并调用 解雇那个?像下面这样的?

    是的,您可以这样做,因为在您的课堂上多次使用了快餐栏。所以最好将其声明为全局。

    developer.android.com查看更多小吃店详情

    【讨论】:

    • 虽然这是一篇旧文章,但只想补充一点,如果您计划在片段生命周期中(非同时)显示多个小吃吧,那么拥有一个全球小吃吧变量将不起作用。
    猜你喜欢
    • 2018-11-29
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 2016-03-06
    • 1970-01-01
    • 2019-01-04
    • 2021-02-27
    相关资源
    最近更新 更多