【问题标题】:(android) how to close an activity after snackbar ended?(android) 小吃吧结束后如何关闭活动?
【发布时间】:2021-02-27 01:55:37
【问题描述】:

我想在小吃店结束后关闭活动。 我有两个活动 A 和 B。A 活动是使用意图的开放 B 活动。 在 B 处,当小吃店在 3 秒内结束时,B 使用 finish() 自动关闭。 但是怎么知道小吃店已经结束了呢? 一旦snackbar上线,B活动马上结束,因为snackbar结束了。

B 活动中的代码。

Snackbar sb = Snackbar.make(wc, "SAVE", Snackbar.LENGTH_SHORT).setDuration(3000);
sb.show();
finish();

请帮助我。 谢谢。

【问题讨论】:

    标签: java android snackbar


    【解决方案1】:

    像这样在您的小吃栏中添加回调:

    sb.addCallback(new Snackbar.Callback() {
    
        @Override
        public void onDismissed(Snackbar snackbar, int event) {
            if (event == Snackbar.Callback.DISMISS_EVENT_TIMEOUT) {
                // finish your activity here
            }
        }
    
        @Override
        public void onShown(Snackbar snackbar) {
            ...
        }
    });
    

    【讨论】:

    • 谢谢。我可以提问吗?在您的代码中, sb.show() 应该位于哪里?在 onShow() 中?或者..在sb.addCallback前面?
    • 添加回调后,SnackBar 显示如下:Snackbar sb = Snackbar.make(wc, "SAVE", Snackbar.LENGTH_SHORT).setDuration(3000); sb.addCallback(){}; sb.show();
    • wc 是布局文件中的根视图吗?
    猜你喜欢
    • 2017-10-30
    • 1970-01-01
    • 2018-09-12
    • 2020-10-18
    • 2018-09-13
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 2016-06-22
    相关资源
    最近更新 更多