Xamarin.Android:错误 android.view.View.mPrivateFlags NullReferenceException

Xamarin.Android: Error android.view.View.mPrivateFlags NullReferenceException

提问人:J.Doe 提问时间:8/12/2021 更新时间:8/13/2021 访问量:161

问:

我有一个使用 Xamarin.Forms 3.2.0.871581 的 xamarin.forms 项目(我知道我应该更新,但我总是担心 Xamarin 的更新会引入新的错误..)。

有时我遇到以下未经处理的异常,它会弹出并崩溃,但我在互联网上找不到任何信息,并且很难跟踪和调试:

EXCEPTION: Attempt to read from field 'int android.view.View.mPrivateFlags' on a null object reference AT   at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualBooleanMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <286213b9e14c442ba8d8d94cc9dbec8e>:0 
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualBooleanMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <286213b9e14c442ba8d8d94cc9dbec8e>:0 
at Android.Views.View.DispatchTouchEvent (Android.Views.MotionEvent e) [0x00031] in <95d915721ad748108ff096dce8f8f32c>:0 
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].DispatchTouchEvent (Android.Views.MotionEvent e) [0x00012] in <b9bd728dc3884553a65889a49f5d7aad>:0 
at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.DispatchTouchEvent (Android.Views.MotionEvent e) [0x00007] in <b9bd728dc3884553a65889a49f5d7aad>:0 
at Android.Views.View.n_DispatchTouchEvent_Landroid_view_MotionEvent_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_e) [0x00011] in <95d915721ad748108ff096dce8f8f32c>:0 
at (wrapper dynamic-method) System.Object.24(intptr,intptr,intptr)

dispatchTouchEvent似乎有问题,但我对如何调试和解决此类错误感到困惑。 如果有人愿意,我可以提供完整的堆栈跟踪。

有没有人已经遇到过这个问题?

谢谢

Android 窗体 Xamarin NullReferenceException

评论

0赞 Cheesebaron 8/12/2021
在更新 Xamarin.Forms 方面仅落后 3 年。祝你好运,得到任何帮助。
0赞 J.Doe 8/12/2021
是的,我知道,但我接手了另一个开发团队的工作,我独自一人,我知道我应该尝试更新这个大项目,但独自一人非常困难......无论如何,谢谢。但是,nyone至少知道是什么会引起这个错误吗?
0赞 Leo Zhu 8/13/2021
您提供的错误消息很难判断问题出在哪里,任何单击或触摸事件都会触发 dispatchTouchEvent。
0赞 J.Doe 8/13/2021
如果您想@Leo朱,我会提供完整的堆栈跟踪?我怎样才能检测这个错误发生的位置,我是否应该在任何地方添加日志并祈祷它在调试模式下发生?谢谢
0赞 Leo Zhu 8/13/2021
@J.Doe 事实上,您的版本太旧了,以至于在版本更新期间可能会更改,以至于不兼容。您可以显示完整的堆栈跟踪,我会检查它,但不一定能找到问题。

答: 暂无答案