gpt4 book ai didi

c# - 在 Xamarin 中导航到 native 表单会出现空引用异常

转载 作者:行者123 更新时间:2023-12-01 23:51:29 24 4
gpt4 key购买 nike

我在 Xamarin.Android 项目( native )中有 4 个选项卡。 native 加载了 3 个选项卡,但我加载的一个选项卡是表单页面(内容页面)。这是选项卡的代码-

    public override Android.Support.V4.App.Fragment GetItem(int position)
{

switch (position)
{
case 0:
return new tab1Fragment();

case 1:
return new tab2Fragment();

case 2:
return new tab3Fragment();

case 3:
var fragment = new FormsPage1().CreateSupportFragment(Android.App.Application.Context);
return fragment;

default:
return null;
}
}

表单页面已成功加载,但是当我触摸该页面中的任何位置时,它会崩溃。这是异常(exception)-

System.NullReferenceException: Object reference not set to an instance of an object.
at Android.Views.View.n_DispatchTouchEvent_Landroid_view_MotionEvent_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_e)
at (wrapper dynamic-method) System.Object.55(intptr,intptr,intptr)
Unhandled Exception from source=AndroidEnvironment
System.NullReferenceException: Object reference not set to an instance of an object.
at Xamarin.Forms.Platform.Android.PlatformRenderer.DispatchTouchEvent (Android.Views.MotionEvent e)
at Android.Views.View.n_DispatchTouchEvent_Landroid_view_MotionEvent_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_e)

更新 Xaml-

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ClientApp"
x:Class="ClientApp.FormsPage1">

<StackLayout>
<!-- Place new controls here -->
<Label Text="Welcome to Xamarin.Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
</StackLayout>

当我调试更多片段的 View 始终为空时,我怀疑这是导致问题的原因,但不确定..请帮忙..

最佳答案

我预计会出现此问题,因为您使用的是应用的 Context 而不是事件 Context。在大多数情况下,作为上下文提供者没问题,但有时它会导致问题。

我不确定您的项目结构是否可以推荐如何获取事件上下文的最佳解决方案,但 CurrentActivity 插件应该在所有情况下都有效。

关于c# - 在 Xamarin 中导航到 native 表单会出现空引用异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com