我知道Xamarin
Android中的构造函数难度,如下所述:
No constructor found for … (System.IntPtr,Android.Runtime.JniHandleOwnership)
No constructor found for … (System.IntPtr,Android.Runtime.JniHandleOwnership)
以及所有碎片和活动&我在app中创建的其他自定义视图导入此构造函数.
但有时会在OnCreateView方法中抛出空引用异常.
例:
public class TestView: Android.Support.V4.App.Fragment{ public TestClass _testClass; public TestView (TestClass testClass) { this._testClass = testClass; } public TestView(IntPtr javaReference,Android.Runtime.JniHandleOwnership transfer) : base(javaReference,transfer) { } public override Android.Views.View OnCreateView (Android.Views.LayoutInflater inflater,Android.Views.ViewGroup container,Android.OS.Bundle savedInstanceState) { View view = inflater.Inflate (Resource.Layout.Fragment_TestView,container,false); _testClass.ExecuteTestMethod(); return view; } }
这段代码在OnCreateView中抛出了一个空引用异常,偶尔会出现这种情况.这很少发生,从来没有直接从代码创建视图然后测试它.
现在很明显,此代码中唯一可以抛出异常的点是_testClass变量.
所以现在显然我的问题是,当调用javaReference构造函数时,是否还执行了OncreateView方法?