Приложение аварийно завершает работу только в выпуске и почти каждый раз, когда я перехожу на страницу, где присутствует пользовательское представление.
Вот код MyLinkView:< /p>
Вот класс из исходного кода MAUI и класс, в котором происходит сбой: https://github.com/dotnet/maui/blob/main/src/Controls /src/Core/Platform/Android/Extensions/SemanticExtensions.cs
У меня накопилось много дней для решения этой проблемы. Когда я добавляю блок try/catch, я фиксирую сбой, и приложение продолжает работать нормально, но я хочу выяснить, в чем проблема. У кого-нибудь была подобная проблема раньше?
Приложение аварийно завершает работу только в [b]выпуске[/b] и почти каждый раз, когда я перехожу на страницу, где присутствует пользовательское представление. Вот код MyLinkView:< /p> [code]
public string Text { get => (string)GetValue(TextProperty); set => SetValue(TextProperty, value); } public static readonly BindableProperty PressCommandProperty = BindableProperty.Create( propertyName: nameof(PressCommand), returnType: typeof(IAsyncCommand), declaringType: typeof(MyLinkView), defaultValue: null);
public IAsyncCommand PressCommand { get => (IAsyncCommand)GetValue(PressCommandProperty); set => SetValue(PressCommandProperty, value); }
private async static void OnTextPropertyChanged(BindableObject bindable, object oldValue, object newValue) { try { if (!(bindable is MyLinkViewview)) return;
if (newValue is null || newValue is string str && string.IsNullOrWhiteSpace(str)) { view.LabelControl.FormattedText = string.Empty; } else if (newValue is string text) { var formattedText = new FormattedString(); foreach (var item in MyLinkHelper.ProcessString(text)) { var span = new Span { Text = item.Text }; var hasLink = !string.IsNullOrEmpty(item.Link); span.GestureRecognizers.Add(new TapGestureRecognizer { Command = view.PressCommand, CommandParameter = view.PressCommandParameter }); formattedText.Spans.Add(span); }
} [/code] Я использую DisplayAlert, чтобы перехватить исключение в режиме выпуска. Вот отчеты из AppCenter: [code]androidx.core.view.ViewCompat$Api29Impl.getAccessibilityDelegate ViewCompat.java, line 5436 Java.Lang.NullPointerException: Attempt to invoke virtual method 'android.view.View$AccessibilityDelegate android.view.View.getAccessibilityDelegate()' on a null object reference
[/code] Вот класс из исходного кода MAUI и класс, в котором происходит сбой: https://github.com/dotnet/maui/blob/main/src/Controls /src/Core/Platform/Android/Extensions/SemanticExtensions.cs У меня накопилось много дней для решения этой проблемы. Когда я добавляю блок try/catch, я фиксирую сбой, и приложение продолжает работать нормально, но я хочу выяснить, в чем проблема. У кого-нибудь была подобная проблема раньше?