使用MrEngineer13的SnackBar库实现

时间:2015-12-27 14:26:47

标签: android android-snackbar snackbar

我正在使用@ 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) {
     }

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

1 个答案:

答案 0 :(得分:1)

  

取决于actionclick事件发生的时间,我需要做不同的事情

处理onMessageClick()

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

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

  

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

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