如何为 Android Snackbar 使用事件 onDismiss

Posted

技术标签:

【中文标题】如何为 Android Snackbar 使用事件 onDismiss【英文标题】:How to use event onDismiss for Android Snackbar 【发布时间】:2018-06-22 08:38:57 【问题描述】:

对于熟悉android代码的人来说可能会更容易。我是这里的新手......在我的小吃店被解雇后,我正在努力做一个动作。我阅读了教程here,但仍然没有给我明确的方向。

    adapterTutorSubject.setOnClickListener(new AdapterTutorSubject.OnClickListener() 
        @Override
        public void onItemClick(View view, TutorSubject obj, int pos) 
            Snackbar.make(parent_view, "Item " + obj.subjectName + " clicked", Snackbar.LENGTH_SHORT).show();


         //On snackbar dismissed, then go to this page

            Intent intent = new Intent(getApplicationContext(), ChapterListActivity.class);
            startActivity(intent);
        
    );

谢谢!

【问题讨论】:

提交问题后,我终于找到了解决方案......有时我需要在SO中询问然后我找到了......哈哈哈***.com/questions/30926380/… 【参考方案1】:

您可以简单地设置回调,如 here 所示。 修改代码如下:

adapterTutorSubject.setOnClickListener(new AdapterTutorSubject.OnClickListener() 
        @Override
        public void onItemClick(View view, TutorSubject obj, int pos) 
            Snackbar snack = Snackbar.make(parent_view, "Item " + obj.subjectName + " clicked", Snackbar.LENGTH_SHORT);
            snack.setCallback(new Snackbar.Callback() 

                    @Override
                    public void onDismissed(Snackbar snackbar, int event) 
                       if (event == Snackbar.Callback.DISMISS_EVENT_TIMEOUT) 
                         // Snackbar closed on its own
                       
                    

                    @Override
                    public void onShown(Snackbar snackbar) 
                       //Do something in shown
                    
           );
           snack.show();
        
    );

希望对你有帮助!!!

【讨论】:

谢谢兄弟..我在 SO 上提交问题后立即找到了解决方案。 setCallback 现已弃用,请改用 addCallback。

以上是关于如何为 Android Snackbar 使用事件 onDismiss的主要内容,如果未能解决你的问题,请参考以下文章

Android - MD之Snackbar的使用

Android中如何为Fragment中的按钮添加监听事件

iOS Swift:如何为 Swift 3 进行异步/反应式/事件编程

如何为 Android 测试生成缩放/捏合手势

Android 多行 Snackbar

如何将粗体文本设置为 Android Snackbar 操作文本?