【发布时间】:2015-05-01 15:58:53
【问题描述】:
我创建了两个自定义 Android 视图,我想将它们绑定到我的数据模型中的属性。当我运行应用程序时,属性肯定没有绑定,并且我在日志中看到诸如MvxBind:Error:106.21 View type not found - md5b46e1450448c30667827ca3b24581c6a.NavigationListView 之类的错误。
我最初也遇到了与 android.support.v4.widget.DrawerLayout 相同的问题,我可以通过将程序集添加到 Setup.cs 中的 AndroidViewAssemblies 来解决这个问题。我尝试对我的自定义视图做同样的事情,但无济于事。我的AndroidViewAssemblies 看起来像这样:
protected override IList<Assembly> AndroidViewAssemblies
{
get
{
var assemblies = base.AndroidViewAssemblies;
assemblies.Add(typeof(DrawerLayout).Assembly);
assemblies.Add(typeof(NavigationListView).Assembly);
return assemblies;
}
}
我确实注意到对于DrawerLayout,MvxBind 在日志中包含了完整的命名空间,但对于我的自定义视图,它使用的是 md5 哈希而不是命名空间,我认为这与我看到的问题有关。
这在几天前肯定可以工作,但是当我知道它可以工作时恢复到我正在使用的代码后它仍然无法工作。这让我相信我遇到了某种配置问题。
我使用的是 Visual Studio 2013。我确实安装了 StyleCop 并将 Reshaper 更新到 8.2 版,因为这最后一次工作,但我对那些破坏我的自定义视图的人持怀疑态度。
可能发生了什么,我该如何解决?
【问题讨论】:
-
这看起来像是 Xam 最新重大更改的一部分。尝试使用
Register属性将视图的 java 类名称设置为旧式 java 类名称 - 比md5b46e1450448c30667827ca3b24581c6a更易读和可预测
标签: android visual-studio xamarin mvvmcross