Проблема с гугл картами и получить дочерний менеджер фрагментов

Я постоянно получаю сообщение об ошибке для фрагмента карты поддержки, я новичок в android и java, поэтому у меня нет ответов, которые он говорит ';' ожидается, но однажды вставленный перед менеджером получения дочернего фрагмента, он делает фрагмент карты поддержки недоступным, и я получаю сообщение об ошибке по всей строке.

вот мой класс

package com.example.hp_user.shoutfinal28;


import android.app.FragmentManager;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;


public class FragmentShouts_Maps extends Fragment implements OnMapReadyCallback {


public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Get the view from fragment shouts.xml
    View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
    return view;

    SupportMapFragment fragment = SupportMapFragment.newInstance(); getChildFragmentManager().findFragmentById(R.id.maps);
    fragment.getMapAsync(this);
}


@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);




}

@Override
public void onMapReady (GoogleMap googleMap) {

}



}

вот мой xml файл

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<fragment android:id="@+id/maps"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.example.hp_user.shoutfinal28.FragmentShouts_Maps"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_alignParentEnd="true">
</fragment>

</RelativeLayout>

1 ответ

Заменить этот код:

View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
return view;
SupportMapFragment fragment = SupportMapFragment.newInstance(); getChildFragmentManager().findFragmentById(R.id.maps);
fragment.getMapAsync(this);

с этим:

View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
SupportMapFragment fragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.maps);
if (fragment!= null) {
    fragment.getMapAsync(this);
}
return view;

Вам не нужно создавать новый фрагмент. Вам нужна только ссылка на вашу карту, которую вы уже поместили в свой XML. во-вторых return строка всегда является последней строкой функции. Потому что после выполнения обратной строки оставшиеся строки метода всегда пропускаются.

Другие вопросы по тегам