【问题标题】:Android.Content.ActivityNotFoundException: Unable to find explicit activity class {} have you declared this activity in your AndroidManifest.xml?Android.Content.ActivityNotFoundException:无法找到显式活动类 {} 您是否在 AndroidManifest.xml 中声明了此活动?
【发布时间】:2015-02-28 20:09:17
【问题描述】:

Android.Content.ActivityNotFoundException:找不到明确的活动类 {AgLiveMobile.Droid/aglivemobile.droid.views.NewDemoView}; 您是否在 AndroidManifest.xml 中声明了此活动?

我正在实现抽屉菜单并引用

https://github.com/benhysell/V.FlyoutTest

我在以下行收到此错误:

   this.ShowViewModel<NewDemoViewModel>();

我还在 xml 文件中给出了完整路径:

   <activity
           android:name="aglivemobile.droid.views.NewDemoView">
   </activity>

这是什么意思?我应该怎么做才能解决这个问题? 提前致谢

【问题讨论】:

  • 检查Manifest中定义的包名。
  • NewDemoView 是否扩展 Activity?从错误来看,您可能需要在清单中使用 android:name="Aglivemobile.Droid.views.NewDemoView"。
  • 在 Manifest 中按住 CTRL 键单击 NewDemoView,如果它带您进入课程并且该课程扩展了活动,它应该可以正常工作
  • 鉴于这是 Xamarin,您是否在 View 类中使用了 [Activity] 属性 - 通常在 Xamarin 工作流程中,您这样做而不是编辑 xml 文件。
  • 不,我没有使用过 Activity 属性,因为它扩展了 MvxFragment,为此我刚刚找到上述解决方案在清单中提及活动,但它是正确的解决方案吗?我已使用github.com/benhysell/V.FlyoutTest 作为参考。还有其他更简单的方法来使用 MVVMCross 实现菜单吗?

标签: android xamarin xamarin.android mvvmcross


【解决方案1】:

也许您需要检查是否将新活动添加到 manifest.xml 文件中

                                      or

您正在调用的活动不仅应该出现在它自己的包的清单中,还应该出现在 CALLING 包的清单中。

【讨论】:

    【解决方案2】:

    您可能必须将演示者(如果没有)添加到 Android 设置。类似的东西:

    protected override IMvxAndroidViewPresenter CreateViewPresenter()
    {
        var mvxFragmentsPresenter = new MvxFragmentsPresenter(AndroidViewAssemblies);
        Mvx.RegisterSingleton<IMvxAndroidViewPresenter>(mvxFragmentsPresenter);
        return mvxFragmentsPresenter;
    }
    

    【讨论】:

      猜你喜欢
      • 2020-01-22
      • 2018-09-18
      • 2019-02-27
      • 2016-09-14
      • 2015-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多