Android Databinding:在方法参数中使用三元运算符时发生ConcurrentModificationException

我在布局文件中使用数据绑定。 以下是相关的代码片段:

<ImageButton android:id="@+id/btn_cross" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_close_white" app:onClick="@{(v) -> gameManager.dismissAndDestroyDialog()}" app:tapEvent="@{(v) -> eventUtils.sendEvent(viewModel.state == State.IN_PROGRESS ? Source.GAME_LOADING : Source.GAME_LOADING_ERROR)}"/> 

viewModel :这是我的viewModel这个布局。
tapEvent :我正在使用绑定适配器。
Source :一个枚举类State :一个枚举类

当我执行这个时,我得到以下异常:

 e: error: cannot generate view binders java.util.ConcurrentModificationException e: e: at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437) e: at java.util.HashMap$ValueIterator.next(HashMap.java:1466) e: at android.databinding.tool.expr.CallbackExprModel.seal(CallbackExprModel.java:63) e: at android.databinding.tool.expr.LambdaExpr.setup(LambdaExpr.java:154) e: at android.databinding.tool.Binding.resolveCallbackParams(Binding.java:93) e: at android.databinding.tool.BindingTarget.resolveCallbackParams(BindingTarget.java:175) e: at android.databinding.tool.LayoutBinder.<init>(LayoutBinder.java:237) e: at android.databinding.tool.DataBinder.<init>(DataBinder.java:52) e: at android.databinding.tool.CompilerChef.ensureDataBinder(CompilerChef.java:88) e: at android.databinding.tool.CompilerChef.sealModels(CompilerChef.java:187) e: at android.databinding.annotationprocessor.ProcessExpressions.writeResourceBundle(ProcessExpressions.java:184) 

如果您需要更多详细信息,请留言 我已经在不同的XML文件与String参数也尝试过。 没有什么在为我工作。 这是一个已知的错误? 如果是这样,有没有解决这个问题?

注意:eventUtils类是用Kotlin编写的但是我不认为这是一个问题。

编辑:viewModel.state是状态枚举数据类型的Observable字段。

由于viewModel.state是一个Observable字段使用这个:

 app:tapEvent="@{(v) -> eventUtils.sendEvent(viewModel.state.get() == State.IN_PROGRESS ? Source.GAME_LOADING : Source.GAME_LOADING_ERROR)}" 

get()方法在lambda中使用是强制的。