【问题标题】:MvxBind for ToggleButton fails only in Release buildToggleButton 的 MvxBind 仅在发布版本中失败
【发布时间】:2014-04-06 13:15:55
【问题描述】:

在我的 Android MvvmCross 应用程序中,我的 ToggleButton 绑定在 Debug 构建中表现得非常出色,但在 Release 中却失败了。

我的 ToggleButton 和绑定定义类似于以下内容:

    <ToggleButton
        android:id="@+id/MyToggle"
        local:MvxBind="Checked MyToggleChecked" />

如果我为我的发布版本启用调试输出,我会看到以下日志输出:

MvxBind:Error:113.19 View type not found - ToggleButton
[0:] MvxBind:Error:113.19 View type not found - ToggleButton
03-04 14:38:41.005 I/mono-stdout(25265): MvxBind:Error:113.19 View type not found - ToggleButton

我的 MvvmCross 程序集是 v4.0.30319 版本,我的 MvvmCross.Droid 程序集是 v2.0.50727(嗯……这是个问题吗?)

有什么想法吗? (提前感谢 Suart。;-)

【问题讨论】:

  • 哇,我的搜索没有找到那个。我会试一试!谢谢!
  • 我们可能应该更新错误消息以询问“您是否已将类型添加到 LinkerPleaseInclude?”

标签: android data-binding mvvmcross


【解决方案1】:

根据链接 Stuart Lodge 的评论,问题是由于链接器不包括 MvxBind 表达式中引用的反射属性。

我添加了一个明确引用该属性的类,以强制链接器包含,现在我的 Release 版本一切正常!

internal class LinkerForceInclude
{
    private LinkerForceInclude()
    {            
    }

    private void IncludeChecked(ToggleButton button)
    {
        button.Checked = !button.Checked;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2011-09-23
    • 2016-04-30
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多