我正在使用具有不同 fragment 的滑动选项卡。在 map fragment 中,我无法将嵌套 fragment 用作 XML。下面是 Java 代码和 XML 文件。
我陷入了 getMapAsync()
方法那么如何使用 getMapAsync
获取 map 而不出现任何异常?我将非常感谢您的合作。
食物 fragment Java:
public class FoodFragment extends Fragment {
private SupportMapFragment mapfragment;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.food_layout, null);
mapfragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.maps_frame);
if (mapfragment == null) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
mapfragment = SupportMapFragment.newInstance();
fragmentTransaction.replace(R.id.maps_frame,mapfragment).commit();
}
mapfragment.getMapAsync((OnMapReadyCallback) getActivity().getApplicationContext());
return view;
}
}
食品 XML 文件,
<FrameLayout
android:layout_width="match_parent"
android:layout_height="2in"
android:id="@+id/maps_frame"
android:background="@color/colorAccent"
android:layout_alignParentBottom="true">
</FrameLayout>
最佳答案
您的 ApplicationContext
无法转换为 OnMapReadyCallback
您可以创建 OnMapReadyCallback()
的新实例作为匿名类,如下所示可能正在寻找
mapfragment.getMapAsync(new OnMapReadyCallback() {
@Override public void onMapReady(GoogleMap googleMap) {
if (googleMap != null) {
// your additional codes goes here
.....
}
}
您可以引用this example如果您需要的话也可以。
关于android - fragment 中的 getMapAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368270/