【问题标题】:Xamarin Android conflicting with MvvmCrossXamarin Android 与 MvvmCross 冲突
【发布时间】:2016-04-24 19:48:36
【问题描述】:

我正在尝试使用FragmentManager 创建一个片段并将其添加到一个活动中。

问题是我得到一个编译错误。看来MvxFragment 继承自Android.Support.V4.App.Fragment 和MvxFragmentActivity 继承自Android.Support.V4.App.FragmentActivity,而Android.Support.V4.App.FragmentActivity 又继承自Android.App.FragmentActivity

这意味着 FragmentManager 需要 Android.App.Fragment 但 MvvmCross 使用 Android.Support.V4.App.Fragment

我该如何解决这个问题?

【问题讨论】:

    标签: android xamarin mvvmcross


    【解决方案1】:

    MvvmCross 支持Fragment 和V4.Fragment。要使用第一个,您应该只安装MvvmCross.Droid.FullFragging。使用 V4 时,您应该安装 MvvmCross.Droid.Support.V7.Fragging 和 'MvvmCross.Droid.V7.AppCompat'。

    您可以使用MvxAppCompatActivity 或MvxCachingFragmentActivity 作为活动的基础。

    【讨论】:

    • 我想我明白了,所以我选择了 FullFragging,它现在似乎可以工作了。在 Android 世界中,一切都非常混乱,V4 需要 V7 和 API 级别这个和 API 级别那个。感谢您的帮助。
    • 根据您所针对的 API 级别,使用 V7 支持可能会更好。
    • 对于其他对您的用途感到困惑的人,您需要从.FragmentManager 或.SupportFragmentManager 获取FragmentManager。
    • 我的最低目标是 API 级别 15?哪个是 Xamarin.Android 4.0.3
    • 是的,因此至少使用 API 15 最好使用带有 AppCompat 的 V7。这将使您能够在旧版本的 Android 上使用 Material Design。您可以在此处找到示例:github.com/MvvmCross/MvvmCross-AndroidSupport/tree/master/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    相关资源
    最近更新 更多