代码之家  ›  专栏  ›  技术社区  ›  Dr.Jukka

如何混合android.support.v4.app.Fragment和android.app.Fragment

  •  5
  • Dr.Jukka  · 技术社区  · 11 年前

    我在尝试将com.here.android.mapping.MapFragment用于制表符时遇到了问题。

    问题是,由于TabActivity已被弃用(我知道它仍然有效,但需要一个未来证明的解决方案),并且FragmentTabHost似乎需要使用v4片段(如果片段是从其他片段派生的,则会崩溃),所以当我尝试在一个选项卡片段的布局中使用com.here.android.mapping.MapFragment时,那么我无法为所需的初始化检索它,因为(MapFragment)getFragmentManager().findFragmentById()行有错误,表明无法进行MapFragment的转换。

    我想问题是MapFragment是从android.app.Fragment派生而来的,findFragmentById期望返回mix android.support.v4.app.Fragment,所以问题是如何让这个混合体一起平稳运行?

    1 回复  |  直到 11 年前
        1
  •  1
  •   antonyt    11 年前

    这个 android.support.v4.app.Fragment 以及 android.app.Fragment 类不能互换使用。

    诺基亚创造了 com.here.android.mapping.MapCompatibilityFragment 它延伸 android.support.v4.app.Fragment -如果您的应用程序使用支持片段,请改用此选项。