MvvmCross Xamarin Forms Ошибка миграции AndroidX Android .Content.Res.Resources + NotFoundException: 'Resource ID # 0x7f0b0047' - PullRequest
2 голосов
/ 01 августа 2020

У меня есть проект MvvmCross Xamarin Forms. Я щелкнул правой кнопкой мыши проект Android и перешел на AndroidX. Теперь при беге получаю ошибку. Пожалуйста, помогите

Android .Content.Res.Resources + NotFoundException: 'Resource ID # 0x7f0b0047'

[Activity (Label = "MyApp", Icon = "@ drawable / icon", MainLauncher = false, ScreenOrientation = ScreenOrientation.Portrait)] publi c class MainActivity: MvxFormsAppCompatActivity {publi c stati c MainActivity Instanace; защищенное переопределение void OnCreate (Bundle bundle) {Instanace = this; Xamarin.Essentials.Platform.Init (это, пакет);

        base.Window.RequestFeature(WindowFeatures.ActionBar);
        // Name of the MainActivity theme you had there before.
        // Or you can use global::Android.Resource.Style.ThemeHoloLight
        //base.SetTheme(Resource.Style.MainTheme);

        base.OnCreate(bundle); *------------------Here I get error*
        TabLayoutResource = Resource.Layout.tabs;
        ToolbarResource = Resource.Layout.toolbar;
    }

Ответы [ 2 ]

1 голос
/ 12 августа 2020

Мне удалось преодолеть эту ошибку в моем приложении. Ошибка в FormsAppCompatActivity.OnCreate(Bundle savedInstanceState, ActivationFlags flags), когда ToolbarResource не было установлено. Это привело к запуску следующего кода: https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs#L235

Оказывается, что накачивание Resource.Layout.Toolbar является проблемой c и вызывает описанную вами ошибку.

Обходной путь - назначить ToolbarResource (указав ресурс из вашего Resource.Layout в вашем MainActivity до вызова base.OnCreate().

0 голосов
/ 02 августа 2020

Попробуйте решение для очистки / восстановления, иногда Resource.Designer.cs не восстанавливается по какой-либо причине.

...