Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CreateRendererWithContext working in xamarin not working in MAUI #15525

Open
shirishavanquis opened this issue Jun 8, 2023 · 12 comments
Open
Labels
area-compatibility Issues related to features in the Compatibility Nuget migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert platform/android 🤖 s/triaged Issue has been reviewed s/verified Verified / Reproducible Issue ready for Engineering Triage t/bug Something isn't working
Milestone

Comments

@shirishavanquis
Copy link

shirishavanquis commented Jun 8, 2023

Description

i am working on migrating xamarin forms project to .net MAUI.

i have followed the steps mentioned din the below link.

https://github.com/dotnet/maui/wiki/Migrating-from-Xamarin.Forms-(Preview)/979f30cf295ac8eab2f459211cf80a481fd2db6e

the migrated MAUI project is multi project (forms, iOS, Android). I am re using the renderers with MAUI compatibility packages.

getting exception on below line in one of the renderer files in android.

CreateRendererWithContext (Element, Context). Element is the NavigationPage which i am passing.

It is working in xamarin but giving exception in MAUI.

Exception Details :
{Android.Views.InflateException: Binary XML file line #1 in com.companyname.librarytestappmaui:layout/fragment_backstack: Error inflating class androidx.fragment.app.FragmentContainerView ---> Java.Lang.IllegalStateException: FragmentManager is already executing transactions …} Android.Views.InflateException

I have attached exception screenshots.

could someone please help on this.

i am using KeyboardWrapperPage as MainPage in App.Xaml.cs

below is my KeyboardWrapperPage class in forms project

using System;
namespace LibraryTestAppMaui
{
    public class KeyboardWrapperPage : Page, IPageContainer<Page>
    {
        public KeyboardWrapperPage(Page innerPage)
        {
            BackgroundColor = Colors.White;

            CurrentPage = innerPage;
            InternalChildren.Add(innerPage);
        }


        public Page CurrentPage { get; }

        protected override bool OnBackButtonPressed()
        {
            return CurrentPage.SendBackButtonPressed();
        }
    }
}

below is my KeyboardWrapperPageRenderer class in android project

using System;
using Android.Content;
using Android.Views;
using Android.Widget;
using Microsoft.Maui.Controls.Compatibility.Platform.Android;
using Microsoft.Maui.Controls.Platform;
using Microsoft.Maui.Platform;
using AndroidPlatform = Microsoft.Maui.Controls.Compatibility.Platform.Android.Platform;

namespace LibraryTestAppMaui.Android
{
    public class KeyboardWrapperPageRenderer : Microsoft.Maui.Controls.Handlers.Compatibility.VisualElementRenderer<KeyboardWrapperPage>
    {
        bool disposed;
        FrameLayout pageContainer;
        IPageController PageController => Element;

        int KEYBOARD_HEIGHT => (int)Context.Resources.GetDimension(260);

        public KeyboardWrapperPageRenderer(Context context) : base(context)
        {
            AutoPackage = false;
        }

        protected override void OnElementChanged(ElementChangedEventArgs<KeyboardWrapperPage> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                var bottomBarPage = e.NewElement;

                if (pageContainer == null)
                {
                    pageContainer = CreatePageContainer(Context);
                    AddView(pageContainer);

                    RequestLayout();
                }

                UpdateContent();
            }
        }

        protected override void OnAttachedToWindow()
        {
            base.OnAttachedToWindow();
            PageController.SendAppearing();
        }

        protected override void OnDetachedFromWindow()
        {
            base.OnDetachedFromWindow();
            PageController.SendDisappearing();
        }

        void UpdateContent()
        {
            pageContainer.RemoveAllViews();

            var page = Element?.CurrentPage;
            if (page != null)
            {
                pageContainer.AddView(GetRenderer(page, Context).View);
               // AddView(Keyboard.KeyboardView);
            }
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && !disposed)
            {
                disposed = true;

                RemoveAllViews();

                var pageRenderer = AndroidPlatform.GetRenderer(Element.CurrentPage);

                if (pageRenderer != null)
                {
                    pageRenderer.View.RemoveFromParent();
                    pageRenderer.Dispose();
                }

                pageContainer?.Dispose();
            }

            base.Dispose(disposing);
        }

        static FrameLayout CreatePageContainer(Context context)
        {
            return new FrameLayout(context)
            {
                LayoutParameters = new FrameLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent, GravityFlags.Fill)
            };
        }

        static IVisualElementRenderer GetRenderer(VisualElement element, Context context)
        {
            var renderer = AndroidPlatform.GetRenderer(element);
            if (renderer == null)
            {
                renderer = AndroidPlatform.CreateRendererWithContext(element, context);
                AndroidPlatform.SetRenderer(element, renderer);
            }

            return renderer;
        }
    }
}

below is my MauiProgram.cs in android project.

using System;
using Microsoft.Maui.Controls.Compatibility.Hosting;

namespace LibraryTestAppMaui.Android
{
    public static class MauiProgram
    {
        public static MauiAppBuilder builder;
        public static MauiAppBuilder Builder
        {
            get
            {
                if (builder == null)
                {
                    builder = MauiApp.CreateBuilder();
                }

                return builder;
            }
        }
        public static MauiApp CreateMauiApp()
        {
            var builder = Builder;
            builder
                .UseMauiCompatibility()
                .UseMauiApp<App>();

            builder.ConfigureMauiHandlers(handlers => {
#if ANDROID
                handlers.AddHandler(typeof(KeyboardWrapperPage), typeof(KeyboardWrapperPageRenderer));
#endif
            });
            builder.Services.AddTransient<MainPage>();
            return builder.Build();
        }
    }
}

below is my App.Xaml.cs

using System;
using Microsoft.Maui;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Controls.Xaml;

namespace LibraryTestAppMaui
{
    public partial class App : Application
    {
        public static new App Current => (App)Application.Current;

        public App ()
        {
            InitializeComponent();

           // MainPage = mainPage;
            MainPage = CreateMainPage(new NavigationPage());
        }

        private Page CreateMainPage(NavigationPage navigationPage)
        {
            return new KeyboardWrapperPage(navigationPage);

        }

        protected override void OnStart ()
        {
        }

        protected override void OnSleep ()
        {
        }

        protected override void OnResume ()
        {
        }
       
    }
}
Screenshot 2023-06-08 at 6 19 27 PM Screenshot 2023-06-08 at 6 19 55 PM

Steps to Reproduce

  1. Migrated Xamarin forms project to MAUI.
  2. using xamarin forms renderers with MAUI compatibility packages.
  3. added ConfigureMauiHandlers in MauiPrograms.cs
  4. Run the app
  5. app is crashing on CreateRendererWithContext line.

Expected outcome : app should not crash as it s working in xamarin
Actual outcome : app is crashing.

Link to public reproduction project repository

https://github.com/shirishavanquis/MAUIIssue.git

Version with bug

7.0.49

Last version that worked well

6.0

Affected platforms

Android

Affected platform versions

Android 13 and below

Did you find any workaround?

NO

Relevant log output

No response

@shirishavanquis shirishavanquis added the t/bug Something isn't working label Jun 8, 2023
@shirishavanquis
Copy link
Author

Can anyone please help on this.

@shirishavanquis
Copy link
Author

@jsuarezruiz could you please help on this.

@shirishavanquis
Copy link
Author

any update on this?

@shirishavanquis
Copy link
Author

mistakenly clicked on close. any update on this?

@bnoffer
Copy link

bnoffer commented Jul 25, 2023

I have a similar issue with a SearchBarRenderer:

Here is the renderer code:

using System.ComponentModel;
using Android.Content;
using AViews = Android.Views;
using Android.Widget;
using Microsoft.Maui.Controls.Compatibility.Platform.Android;
using Microsoft.Maui.Controls.Handlers.Compatibility;
using Microsoft.Maui.Controls.Platform.Compatibility;
using Microsoft.Maui.Controls.Platform;
using Microsoft.Maui.Platform;

namespace MyApp.Platforms.Android.Renderers
{
    public class CustomSearchBarRenderer: SearchBarRenderer
    {

        public CustomSearchBarRenderer(Context context) : base(context)
        {
        }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);
        }
        
        protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
        {
            base.OnElementChanged(e);
            var searchView = Control as AndroidX.AppCompat.Widget.SearchView;
            if (searchView != null)
            {
                searchView.Background = Context.GetDrawable(Resource.Drawable.bg_white_rounded);
                
                int searchIconId = Context.Resources.GetIdentifier("android:id/search_mag_icon", null, null);
                ImageView searchViewIcon = (ImageView)searchView.FindViewById<ImageView>(searchIconId);
                searchViewIcon.Visibility = AViews.ViewStates.Gone;
                searchViewIcon.SetImageDrawable(null);

                int plateId = searchView.Context.Resources.GetIdentifier("android:id/search_plate", null, null);
                var plate = (searchView.FindViewById(plateId) as AViews.View);
                plate.SetBackgroundColor(Colors.Transparent.ToPlatform());
            }
        }
    }
}

And here is hte exception:

[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: Android.Views.InflateException: Binary XML file line #93 in com.example.myapp:layout/abc_search_view: Binary XML file line #93 in com.example.myapp:layout/abc_search_view: Error inflating class <unknown>
[mono-rt]  ---> Android.Views.InflateException: Binary XML file line #93 in com.example.myapp:layout/abc_search_view: Error inflating class <unknown>
[mono-rt]  ---> Java.Lang.Reflect.InvocationTargetException: Exception of type 'Java.Lang.Reflect.InvocationTargetException' was thrown.
[mono-rt]  ---> Java.Lang.UnsupportedOperationException: Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f030393 a=-1}, theme={InheritanceMap=[id=0x7f110202com.example.myapp:style/Theme.AppCompat.Empty], Themes=[com.example.myapp:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
[mono-rt] 
[mono-rt]   --- End of managed Java.Lang.UnsupportedOperationException stack trace ---
[mono-rt] java.lang.UnsupportedOperationException: Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f030393 a=-1}, theme={InheritanceMap=[id=0x7f110202com.example.myapp:style/Theme.AppCompat.Empty], Themes=[com.example.myapp:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
[mono-rt] 	at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:1007)
[mono-rt] 	at android.content.res.TypedArray.getDrawable(TypedArray.java:991)
[mono-rt] 	at android.view.View.<init>(View.java:5579)
[mono-rt] 	at android.widget.ImageView.<init>(ImageView.java:196)
[mono-rt] 	at android.widget.ImageView.<init>(ImageView.java:191)
[mono-rt] 	at android.widget.ImageView.<init>(ImageView.java:187)
[mono-rt] 	at java.lang.reflect.Constructor.newInstance0(Native Method)
[mono-rt] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
[mono-rt] 	at android.view.LayoutInflater.createView(LayoutInflater.java:858)
[mono-rt] 	at android.view.LayoutInflater.createView(LayoutInflater.java:780)
[mono-rt] 	at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
[mono-rt] 	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:934)
[mono-rt] 	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:954)
[mono-rt] 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1008)
[mono-rt] 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
[mono-rt] 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127)
[mono-rt] 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
[mono-rt] 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130)
[mono-rt] 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
[mono-rt] 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130)
[mono-rt] 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
[mono-rt] 	at android.view.LayoutInflater.inflate(LayoutInflater.java:686)
[mono-rt] 	at android.view.LayoutInflater.inflate(LayoutInflater.java:538)
[mono-rt] 	at androidx.appcompat.widget.SearchView.<init>(SearchView.java:290)
[mono-rt] 	at androidx.appcompat.widget.SearchView.<init>(SearchView.java:276)
[mono-rt] 	at androidx.appcompat.widget.SearchView.<init>(SearchView.java:272)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ScopedFragment.n_onCreateView(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ScopedFragment.onCreateView(ScopedFragment.java:39)
[mono-rt] 	at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:524)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
[mono-rt] 	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
[mono-rt] 	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1823)
[mono-rt] 	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
[mono-rt] 	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2985)
[mono-rt] 	at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2888)
[mono-rt] 	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3129)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:552)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
[mono-rt] 	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
[mono-rt] 	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
[mono-rt] 	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
[mono-rt] 	at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:547)
[mono-rt] 	at android.os.Handler.handleCallback(Handler.java:942)
[mono-rt] 	at android.os.Handler.dispatchMessage(Handler.java:99)
[mono-rt] 	at android.os.Looper.loopOnce(Looper.java:201)
[mono-rt] 	at android.os.Looper.loop(Looper.java:288)
[mono-rt] 	at android.app.ActivityThread.main(ActivityThread.java:7872)
[mono-rt] 	at java.lang.reflect.Method.invoke(Native Method)
[mono-rt] 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
[mono-rt] 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

@shirishavanquis
Copy link
Author

@bnoffer did u find any solution to your exception?

@PureWeen
Copy link
Member

@shirishavanquis instead of

renderer = AndroidPlatform.CreateRendererWithContext(element, context);

if you call

element.ToPlatform(MauContext)

Does that work?

The KeyboardWrapperPageRenderer should have a MauiContext property you can use

@shirishavanquis
Copy link
Author

shirishavanquis commented Aug 17, 2023

@PureWeen where to add this
element.ToPlatform(MauContext).

could you please tell how to modify this line
renderer = AndroidPlatform.CreateRendererWithContext(element, context);

@samhouts samhouts added migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert and removed area/migration 🚚 labels Aug 28, 2023
@cheles
Copy link

cheles commented Sep 18, 2023

for reference, turn a MAUI element into a platform view , you can change

 static IVisualElementRenderer GetRenderer(VisualElement element, Context context)
        {
            var renderer = AndroidPlatform.GetRenderer(element);
            if (renderer == null)
            {
                renderer = AndroidPlatform.CreateRendererWithContext(element, context);
                AndroidPlatform.SetRenderer(element, renderer);
            }
 
            return renderer;
        }
 

to

View GetRenderer(VisualElement element)  => element.ToPlatform(this.MauiContext)

@jaosnz-rep jaosnz-rep added s/verified Verified / Reproducible Issue ready for Engineering Triage s/triaged Issue has been reviewed labels Jan 25, 2024
@jaosnz-rep
Copy link

jaosnz-rep commented Jan 25, 2024

Verified this issue with Visual Studio for mac 17.6.8 (build 400). Can repro on Android platforms with sample project.
https://github.com/shirishavanquis/MAUIIssue.git

@DeveloperLookBook
Copy link

I have a similar issue with a SearchBarRenderer:

Here is the renderer code:

using System.ComponentModel;
using Android.Content;
using AViews = Android.Views;
using Android.Widget;
using Microsoft.Maui.Controls.Compatibility.Platform.Android;
using Microsoft.Maui.Controls.Handlers.Compatibility;
using Microsoft.Maui.Controls.Platform.Compatibility;
using Microsoft.Maui.Controls.Platform;
using Microsoft.Maui.Platform;

namespace MyApp.Platforms.Android.Renderers
{
    public class CustomSearchBarRenderer: SearchBarRenderer
    {

        public CustomSearchBarRenderer(Context context) : base(context)
        {
        }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);
        }
        
        protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
        {
            base.OnElementChanged(e);
            var searchView = Control as AndroidX.AppCompat.Widget.SearchView;
            if (searchView != null)
            {
                searchView.Background = Context.GetDrawable(Resource.Drawable.bg_white_rounded);
                
                int searchIconId = Context.Resources.GetIdentifier("android:id/search_mag_icon", null, null);
                ImageView searchViewIcon = (ImageView)searchView.FindViewById<ImageView>(searchIconId);
                searchViewIcon.Visibility = AViews.ViewStates.Gone;
                searchViewIcon.SetImageDrawable(null);

                int plateId = searchView.Context.Resources.GetIdentifier("android:id/search_plate", null, null);
                var plate = (searchView.FindViewById(plateId) as AViews.View);
                plate.SetBackgroundColor(Colors.Transparent.ToPlatform());
            }
        }
    }
}

And here is hte exception:

[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: Android.Views.InflateException: Binary XML file line #93 in com.example.myapp:layout/abc_search_view: Binary XML file line #93 in com.example.myapp:layout/abc_search_view: Error inflating class <unknown>
[mono-rt]  ---> Android.Views.InflateException: Binary XML file line #93 in com.example.myapp:layout/abc_search_view: Error inflating class <unknown>
[mono-rt]  ---> Java.Lang.Reflect.InvocationTargetException: Exception of type 'Java.Lang.Reflect.InvocationTargetException' was thrown.
[mono-rt]  ---> Java.Lang.UnsupportedOperationException: Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f030393 a=-1}, theme={InheritanceMap=[id=0x7f110202com.example.myapp:style/Theme.AppCompat.Empty], Themes=[com.example.myapp:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
[mono-rt] 
[mono-rt]   --- End of managed Java.Lang.UnsupportedOperationException stack trace ---
[mono-rt] java.lang.UnsupportedOperationException: Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f030393 a=-1}, theme={InheritanceMap=[id=0x7f110202com.example.myapp:style/Theme.AppCompat.Empty], Themes=[com.example.myapp:style/Theme.AppCompat.Empty, forced, android:style/Theme.DeviceDefault.Light.DarkActionBar, forced]}
[mono-rt] 	at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:1007)
[mono-rt] 	at android.content.res.TypedArray.getDrawable(TypedArray.java:991)
[mono-rt] 	at android.view.View.<init>(View.java:5579)
[mono-rt] 	at android.widget.ImageView.<init>(ImageView.java:196)
[mono-rt] 	at android.widget.ImageView.<init>(ImageView.java:191)
[mono-rt] 	at android.widget.ImageView.<init>(ImageView.java:187)
[mono-rt] 	at java.lang.reflect.Constructor.newInstance0(Native Method)
[mono-rt] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
[mono-rt] 	at android.view.LayoutInflater.createView(LayoutInflater.java:858)
[mono-rt] 	at android.view.LayoutInflater.createView(LayoutInflater.java:780)
[mono-rt] 	at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
[mono-rt] 	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:934)
[mono-rt] 	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:954)
[mono-rt] 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1008)
[mono-rt] 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
[mono-rt] 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127)
[mono-rt] 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
[mono-rt] 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130)
[mono-rt] 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
[mono-rt] 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130)
[mono-rt] 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
[mono-rt] 	at android.view.LayoutInflater.inflate(LayoutInflater.java:686)
[mono-rt] 	at android.view.LayoutInflater.inflate(LayoutInflater.java:538)
[mono-rt] 	at androidx.appcompat.widget.SearchView.<init>(SearchView.java:290)
[mono-rt] 	at androidx.appcompat.widget.SearchView.<init>(SearchView.java:276)
[mono-rt] 	at androidx.appcompat.widget.SearchView.<init>(SearchView.java:272)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ScopedFragment.n_onCreateView(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ScopedFragment.onCreateView(ScopedFragment.java:39)
[mono-rt] 	at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:524)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
[mono-rt] 	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
[mono-rt] 	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1823)
[mono-rt] 	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
[mono-rt] 	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2985)
[mono-rt] 	at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2888)
[mono-rt] 	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3129)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:552)
[mono-rt] 	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
[mono-rt] 	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
[mono-rt] 	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
[mono-rt] 	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
[mono-rt] 	at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:547)
[mono-rt] 	at android.os.Handler.handleCallback(Handler.java:942)
[mono-rt] 	at android.os.Handler.dispatchMessage(Handler.java:99)
[mono-rt] 	at android.os.Looper.loopOnce(Looper.java:201)
[mono-rt] 	at android.os.Looper.loop(Looper.java:288)
[mono-rt] 	at android.app.ActivityThread.main(ActivityThread.java:7872)
[mono-rt] 	at java.lang.reflect.Method.invoke(Native Method)
[mono-rt] 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
[mono-rt] 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

I have the same issue.

@Anandaraj5691
Copy link

@DeveloperLookBook Did you got any solution to resolve the SearchBarRenderer?

@PureWeen PureWeen added the area-compatibility Issues related to features in the Compatibility Nuget label May 31, 2024
@jsuarezruiz jsuarezruiz added this to the Backlog milestone Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-compatibility Issues related to features in the Compatibility Nuget migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert platform/android 🤖 s/triaged Issue has been reviewed s/verified Verified / Reproducible Issue ready for Engineering Triage t/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants