Ich habe versucht, eine Google Map in ein Fragment zu laden. Ich weiß nicht, was die drei Zeilen sein sollen ... (die drei Zeilen kommentiert mit "Problem!").Mit GoogleApiClient in Fragment Android
Die meisten Beispiele verwenden "this" in der Klammer. Ich verstehe, dass dies ein Fragment ist, keine Aktivität, also habe ich stattdessen "getActivity()" verwendet. Aber wenn ich alle drei Zeilen in getActivity() geändert habe, hat es auch nicht funktioniert. Bitte helfen Sie! Danke im Voraus!
public class MapFragment extends Fragment implements OnMapReadyCallback,GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,com.google.android.gms.location.LocationListener {
private static final String TAG = "***MapFragment***";
private final int PERMISSION_CODE = 1;
private GoogleApiClient myGoogleApiClient;
private GoogleMap myMap;
private Location curLocation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_target, container, false);
// create api client
if (myGoogleApiClient == null) {
myGoogleApiClient = new GoogleApiClient.Builder(getActivity()) // problem!
.addConnectionCallbacks(this) // problem!
.addOnConnectionFailedListener(this) // problem!
.addApi(LocationServices.API)
.build();
}
U kann getActivity() verwenden, und Sie versuchen, dies nach der Rückkehr zu bauen? – Blackkara
@Blackkara Wenn ich getActivity() in die zweite Zeile verwende, gibt es einen Fehler sagt "addConnectionCallbacks (com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks) in Builder kann nicht angewendet werden (android.support.v4 .app.FragmentActivity) " – Emile
und tun Sie es vor der Rückkehr – Blackkara