Java 使用两个片段库

Java 使用两个片段库,java,android,android-fragments,Java,Android,Android Fragments,我需要在一段代码中使用android.support.v4.app.Fragment类。 在另一个例子中,我需要使用android.app.Fragment MapFragment mapFragment = (MapFragment) getFragmentManager() .findFragmentById(R.id.map); 在这一部分,我们收到消息说它不能将android.support.v4.app.Fragmen

我需要在一段代码中使用android.support.v4.app.Fragment类。 在另一个例子中,我需要使用
android.app.Fragment

 MapFragment mapFragment = (MapFragment) getFragmentManager()
                                .findFragmentById(R.id.map);
在这一部分,我们收到消息说它不能将
android.support.v4.app.Fragment
转换到
com.google.android.gms.maps.MapFragment

 MapFragment mapFragment = (MapFragment) getFragmentManager()
                                .findFragmentById(R.id.map);
我知道如果我导入
android.app.Fragment
,错误会得到解决,但我不能,因为我一直都有
android.support.v4.app.Fragment


如何修复它?

无论您在何处使用
android.support.v4.app
软件包中的
Fragment
,只要键入全名(
android.support.v4.app.Fragment
),一旦这样做,就删除
android.support.v4.app.Fragment
导入,并用您想要的导入替换它

“我需要在一段代码中使用android.support.v4.app.Fragment类。在另一段代码中,我需要使用android.app.Fragment。”--为什么?这在单个活动中是不可能的,因为我使用的是导航抽屉活动。在自动生成的代码中,我有以下代码:fragmentManager.beginTransaction().replace(R.id.container,PlaceholderFragment.newInstance(position)).commit();。但我试着用地图。所以我需要MapFragment MapFragment=(MapFragment)getFragmentManager().findFragmentById(R.id.map)。“因为我使用的是导航抽屉活动”——那么?您可以对本机片段或后端口片段使用
DrawerLayout
。“但我试着用地图”——那么?MapsV2提供其片段类的本机版本和后端口版本。选择是要使用本机片段还是后端口片段,然后将它们与
DrawerLayout
和MapsV2..一致地使用,其中,除《神探夏洛克》外,所有人都使用本机片段。