【问题标题】:Using MrEngineer13's SnackBar library implementation使用 MrEngineer13 的 SnackBar 库实现
【发布时间】:2016-04-01 14:02:24
【问题描述】:

我正在使用@MrEngineer13 的SnackBar implementation 并且想知道如何捕获2 个单独的“ActionClick”事件——根据actionclick 事件发生的时间,我需要做不同的事情。

构建器看起来像这样 -

new SnackBar.Builder(this)
.withOnClickListener(this)
.withMessage("This library is awesome!") // OR
.withMessageId(messageId)
.withTypeFace(myAwesomeTypeFace)
.withActionMessage("Action") // OR
.withActionMessageId(actionMsgId)
.withTextColorId(textColorId)
.withBackGroundColorId(bgColorId)
.withVisibilityChangeListener(this)
.withStyle(style)
.withDuration(duration)
.show();`

并且 onMessageClick 采用“令牌”参数 -

@Override
public void onMessageClick(Parcelable token) {
     }

我无法弄清楚的是,当点击发生时如何传递这个“令牌”。

【问题讨论】:

    标签: android android-snackbar snackbar


    【解决方案1】:

    根据actionclick事件发生的时间,我需要做不同的事情

    onMessageClick()的正文中处理它:

    @Override
    public void onMessageClick(Parcelable token) {
      if (shouldIDoX()) {
        doX();
      }
      else {
        doY();
      }
    }
    

    (您提供shouldIDoX()doX()doY() 的相关实现。

    我不知道的是,当点击发生时如何传递这个“令牌”

    Builder 上有一个 withToken() 方法,您可以使用它来提供要传递给 onMessageClick()Parcelable。话虽如此,JavaDocs 将其描述为“用于恢复 SnackBar 状态的令牌”,这让我有点担心弄乱它。

    【讨论】:

    • 谢谢,试一试!
    猜你喜欢
    • 2017-04-18
    • 2021-11-09
    • 2016-04-05
    • 1970-01-01
    • 2017-11-28
    • 2017-12-04
    • 2019-02-13
    • 2016-05-09
    • 2021-07-17
    相关资源
    最近更新 更多