maui icon indicating copy to clipboard operation
maui copied to clipboard

CreateRendererWithContext working in xamarin not working in MAUI

Open shirishavanquis opened this issue 1 year ago • 10 comments

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 avatar Jun 08 '23 13:06 shirishavanquis

Can anyone please help on this.

shirishavanquis avatar Jun 13 '23 06:06 shirishavanquis

@jsuarezruiz could you please help on this.

shirishavanquis avatar Jun 22 '23 07:06 shirishavanquis

any update on this?

shirishavanquis avatar Jul 10 '23 10:07 shirishavanquis

mistakenly clicked on close. any update on this?

shirishavanquis avatar Jul 10 '23 10:07 shirishavanquis

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)

bnoffer avatar Jul 25 '23 07:07 bnoffer

@bnoffer did u find any solution to your exception?

shirishavanquis avatar Aug 07 '23 06:08 shirishavanquis

@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

PureWeen avatar Aug 14 '23 14:08 PureWeen

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

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

shirishavanquis avatar Aug 17 '23 11:08 shirishavanquis

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)

cheles avatar Sep 18 '23 15:09 cheles

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

jaosnz-rep avatar Jan 25 '24 08:01 jaosnz-rep

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.

DeveloperLookBook avatar Feb 27 '24 12:02 DeveloperLookBook

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

Anandaraj5691 avatar May 21 '24 11:05 Anandaraj5691