我已经使用MvvmCross超过2年了,但是这个最新的Android问题已经被困扰了。我显然遗漏了一些东西。
我使用最新版本升级了我的Xamarin和MonoDevelop。我一直在使用Mvx热金枪鱼3.5并试图升级到3.5.1而没有不同的结果。基本上每个使用绑定的单个视图都会与MvxBind失败:输出窗口中的错误视图只是空白。
我也通过尝试手动提供程序集以及名称空间来改变安装程序类。我需要非常紧急地解决这个问题,Stuart请指教。
MvxBind:Error:100,93 View type not found - md52d382d08e2b5b5a41f8bed5ba30f5cc4.BindableListView
这方面的一个例子是我的配置视图中的绑定。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/style_background">
<Monovage.BindableListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
local:MvxBind="ItemsSource Thresholds"
local:MvxItemTemplate="@layout/listitem_usagethreshold"
android:layout_marginTop="0dp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical"
android:background="@drawable/style_background">
<ProgressBar
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="false"
android:layout_centerInParent="true"
local:MvxBind="Visibility IsBusy, Converter=Visibility" />
</RelativeLayout>
</LinearLayout>
Bindable List View是一个继承自MvxListView
的列表视图public class BindableListView:MvxListView
答案 0 :(得分:7)
我昨天刚刚使用BindingFlowLayout处理了这个问题。我通过调整布局文件中的前缀来解决MvxBind:Error ...
<BindingFlowLayout
android:id="@+id/AllShowsFlow"
android:orientation="horizontal"
local:MvxItemTemplate="@layout/appmoviesgriditem"
local:MvxBind="ItemsSource TVShows"
android:minWidth="25px"
android:minHeight="25px"
android:layout_marginLeft="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
并添加装配设置。
protected override IList<Assembly> AndroidViewAssemblies
{
get
{
var assemblies = base.AndroidViewAssemblies;
assemblies.Add(typeof(MvxExtensions.BindingFlowLayout).Assembly);
assemblies.Add(typeof(MvxExtensions.FlowLayout).Assembly);
return assemblies;
}
}
基于斯图亚特的答案:
MvxBind:Error: View type not found - mvvmemiextensions.EmiDatePicker
但是,这个错误在我的应用程序中是良性的,它从来没有造成任何问题。
答案 1 :(得分:5)
我遇到了同样的问题但是使用了BindableExpandableListView, 我收到了错误
[MvxBind] 237.25 View type not found - md58cb9ccb4af6afc62c0aa8757d7b275d0.BindableExpandableListView
我在布局文件中有这个
<DeapExtensions.Binding.Droid.Views.BindableExpandableListView
android:id="@+id/openExpandableListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:stackFromBottom="false"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
local:MvxBind="ItemsSource WrappedCategories"
local:MvxItemTemplate="@layout/rowopentask"
local:GroupItemTemplate="@layout/rowcategory" />
我刚刚删除了所有的前缀
<BindableExpandableListView
android:id="@+id/openExpandableListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:stackFromBottom="false"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
local:MvxBind="ItemsSource WrappedCategories"
local:MvxItemTemplate="@layout/rowopentask"
local:GroupItemTemplate="@layout/rowcategory" />
这似乎有效。
答案 2 :(得分:0)
修复是因为MvvmCross不假设从C#到Java类型名称的1:1映射,以下代码片段可用于从C#类型获取基础Java类型名称:
string javaClassName = Java.Lang.Class.FromType(typeof(MyActivity));