我正在使用@ 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) {
}
我无法弄清楚的是,当点击发生时如何传递此“令牌”。
答案 0 :(得分:1)
取决于actionclick事件发生的时间,我需要做不同的事情
处理onMessageClick()
:
@Override
public void onMessageClick(Parcelable token) {
if (shouldIDoX()) {
doX();
}
else {
doY();
}
}
(您提供shouldIDoX()
,doX()
和doY()
的相关实施。
我无法弄清楚的是,当点击发生时如何传递此“令牌”
withToken()
上有一个Builder
方法可用于提供Parcelable
传递给onMessageClick()
。话虽这么说,JavaDocs将其描述为“用于恢复SnackBar状态的令牌”,这会让我有点担心搞乱它。