dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
21.83k stars 1.67k forks source link

CreateRendererWithContext working in xamarin not working in MAUI #15525

Open shirishavanquis opened 1 year ago

shirishavanquis commented 1 year ago

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 commented 1 year ago

Can anyone please help on this.

shirishavanquis commented 1 year ago

@jsuarezruiz could you please help on this.

shirishavanquis commented 12 months ago

any update on this?

shirishavanquis commented 12 months ago

mistakenly clicked on close. any update on this?

bnoffer commented 11 months ago

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 commented 11 months ago

@bnoffer did u find any solution to your exception?

PureWeen commented 10 months ago

@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 commented 10 months ago

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

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

cheles commented 9 months ago

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 commented 5 months ago

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 commented 4 months ago

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 commented 1 month ago

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