異なるフラグメントのスライディングタブを使用しています。マップフラグメントでは、ネストされたフラグメントをXMLとして使用することはできません。以下はJavaコードとXMLfileです。 私はgetMapAsync()
メソッドに固執しています。どのようにしてgetMapAsync
を使用してマップを取得できますか?私は本当にあなたの協力に感謝します。フラグメント内のgetMapAsync
食品フラグメントの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ファイル、あなたが代わりにここのような匿名クラスとしてOnMapReadyCallback()
の新しいインスタンスを作成することができますOnMapReadyCallback
として
<FrameLayout
android:layout_width="match_parent"
android:layout_height="2in"
android:id="@+id/maps_frame"
android:background="@color/colorAccent"
android:layout_alignParentBottom="true">
</FrameLayout>
現在、どのような例外が表示されていますか? –
ご挨拶ありがとうございます。例外は「android.app.Applicationはcom.google.android.gms.maps.OnMapReadyCallbackにキャストできません」 – Shahek