【问题标题】:AndroidX migration error Android.Content.Res.Resources+NotFoundException: 'Resource ID #0x7f0b0047'AndroidX 迁移错误 Android.Content.Res.Resources+NotFoundException: 'Resource ID #0x7f0b0047'
【发布时间】:2020-08-01 19:34:14
【问题描述】:

我有MvvmCross Xamarin Forms 项目。我右键单击 Android 项目并迁移到 AndroidX。现在,当我运行时,我得到了错误。请帮忙

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

[Activity(Label = "MyApp", Icon = "@drawable/icon", MainLauncher = false, ScreenOrientation = ScreenOrientation.Portrait)]
    public class MainActivity : MvxFormsAppCompatActivity
    {
        public static MainActivity Instanace;
        protected override void OnCreate(Bundle bundle)
        {
            Instanace = this;
            Xamarin.Essentials.Platform.Init(this, bundle);

            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;
        }

【问题讨论】:

  • 即使我的项目不使用 MVVMCross,我也遇到了同样的问题。当我将目标 SDK 从 28 更新到 29 并且安装了很少的 AndroidX 包时,它出现了。

标签: xamarin xamarin.forms xamarin.android mvvmcross


【解决方案1】:

我能够在我的应用程序中克服这个错误。当 ToolbarResource 未设置时,它在 FormsAppCompatActivity.OnCreate(Bundle savedInstanceState, ActivationFlags flags) 中失败。这导致以下代码运行:https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs#L235

事实证明,膨胀Resource.Layout.Toolbar 是有问题的,并导致您描述的错误。

解决方法是分配ToolbarResource(在MainActivity 中指定Resource.Layout 中的资源之前 base.OnCreate() 被调用。

【讨论】:

    【解决方案2】:

    尝试 Clean/Rebuild 解决方案,有时 Resource.Designer.cs 由于某种原因没有重新生成。

    【讨论】:

    • 谢谢..我已经完成甚至删除了 bin/obj 文件。还是没有运气
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多