Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 膨胀通用/模板化自定义视图_C#_Android_Xamarin.android_Xamarin - Fatal编程技术网

C# 膨胀通用/模板化自定义视图

C# 膨胀通用/模板化自定义视图,c#,android,xamarin.android,xamarin,C#,Android,Xamarin.android,Xamarin,是否可以膨胀模板化的自定义/子类视图 也就是说,是否可以对以下各项进行充气: public class TextViewT<T> : TextView { List<T> _list; public TextViewT(Context context) : base(context) { } public TextViewT(Context context, IAttributeSet attributes) : base(context, at

是否可以膨胀模板化的自定义/子类视图

也就是说,是否可以对以下各项进行充气:

public class TextViewT<T> : TextView
{
    List<T> _list;

    public TextViewT(Context context) : base(context) { }
    public TextViewT(Context context, IAttributeSet attributes) : base(context, attributes) { }
}
尝试执行此操作时,我会遇到以下异常:

UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'App.Droid.Views.Custom.TextViewT, App.Droid, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
at System.Type.GetType (string,bool) <0x00027>
at Java.Interop.TypeManager.n_Activate (intptr,intptr,intptr,intptr,intptr,intptr) <0x00057>
at (wrapper native-to-managed) Java.Interop.TypeManager.n_Activate (intptr,intptr,intptr,intptr,intptr,intptr) <0x0006f>
at (wrapper delegate-invoke) <Module>.invoke_void__this___intptr_intptr_intptr_intptr_JValue[] (intptr,intptr,intptr,intptr,Android.Runtime.JValue[]) <0x000cb>
at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (intptr,intptr,intptr,Android.Runtime.JValue[]) <0x00067>
at Android.App.Activity.SetContentView (int) <0x001d7>
at App.Droid.Views.CalendarView.Render () <0x00073>
at MonoCross.Droid.MXActivityView`1<App.ViewModels.CalendarVM>.OnCreate (Android.OS.Bundle) <0x00243>
at App.Droid.Views.CalendarView.OnCreate (Android.OS.Bundle) <0x0001b>
at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) <0x00057>
at (wrapper dynamic-method) object.cb51fcb8-c099-4fce-b266-642090f4d778 (intptr,intptr,intptr) <0x00043>
未处理的异常:System.TypeLoadException:无法加载类型“App.Droid.Views.Custom.TextViewT,App.Droid,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”。
在System.Type.GetType处(字符串,bool)
在Java.Interop.TypeManager.n_激活(intptr、intptr、intptr、intptr、intptr、intptr)
at(包装器本机到托管)Java.Interop.TypeManager.n_激活(intptr、intptr、intptr、intptr、intptr、intptr)
at(包装委托调用)。调用\u void\u this\u intptr\u intptr\u intptr\u intptr\u JValue[](intptr,intptr,intptr,intptr,Android.Runtime.JValue[])
在Android.Runtime.JNIEnv.CallNonvirtualVoidMethod(intptr、intptr、intptr、Android.Runtime.JValue[])中
位于Android.App.Activity.SetContentView(int)
在App.Droid.Views.CalendarView.Render()中
位于MonoCross.Droid.MXActivityView`1.OnCreate(Android.OS.Bundle)
位于App.Droid.Views.CalendarView.OnCreate(Android.OS.Bundle)
在Android.App.Activity.n_OnCreate_Landroid_os_Bundle_(intptr、intptr、intptr)
at(包装器动态方法)object.cb51fcb8-c099-4fce-b266-642090f4d778(intptr、intptr、intptr)

谢谢。

既然在原始android中不可能,那么在Xamarin中肯定不可能。android:


根据泛型,只能从托管(.net)代码创建。因此,如果膨胀过程是在本机Java代码中完成的(很可能是这样),那么就没有风险了。实际上,可以使用某个Gradle插件在XML布局中使用Java泛型,如下所述:
UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'App.Droid.Views.Custom.TextViewT, App.Droid, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
at System.Type.GetType (string,bool) <0x00027>
at Java.Interop.TypeManager.n_Activate (intptr,intptr,intptr,intptr,intptr,intptr) <0x00057>
at (wrapper native-to-managed) Java.Interop.TypeManager.n_Activate (intptr,intptr,intptr,intptr,intptr,intptr) <0x0006f>
at (wrapper delegate-invoke) <Module>.invoke_void__this___intptr_intptr_intptr_intptr_JValue[] (intptr,intptr,intptr,intptr,Android.Runtime.JValue[]) <0x000cb>
at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (intptr,intptr,intptr,Android.Runtime.JValue[]) <0x00067>
at Android.App.Activity.SetContentView (int) <0x001d7>
at App.Droid.Views.CalendarView.Render () <0x00073>
at MonoCross.Droid.MXActivityView`1<App.ViewModels.CalendarVM>.OnCreate (Android.OS.Bundle) <0x00243>
at App.Droid.Views.CalendarView.OnCreate (Android.OS.Bundle) <0x0001b>
at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) <0x00057>
at (wrapper dynamic-method) object.cb51fcb8-c099-4fce-b266-642090f4d778 (intptr,intptr,intptr) <0x00043>