Ich habe ein paar Fragen zu diesem Thema hier gefunden, aber ihre Antworten scheinen nicht zu gelten, dass mein Projekt die Bibliothek referenziert, die die Klasse enthält. Hier ist mein Code ist:Google Maps api v2 - Der Typ android.app.Fragment kann nicht aufgelöst werden. Es wird indirekt von erforderlichen .class-Dateien referenziert
package com.demo.app;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class Mapview extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GPSTracker gps = new GPSTracker(Mapview.this);
// check if GPS enabled
if(gps.canGetLocation()){
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
// \n is for new line
// Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();
}else{
// can't get location
// GPS or Network is not enabled
// Ask user to enable GPS/network in settings
gps.showSettingsAlert();
}
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
SupportMapFragment fragment = new SupportMapFragment();
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, fragment).commit();
GoogleMap mMap;
mMap = ((MapFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).getMap();
mMap.addMarker(new MarkerOptions()
.position(new LatLng(0, 0))
.title("Hello world"));
}
}
So können Sie sehen, dass ich die Fragment-Bibliothek verwiesen in den Importen, wirft Eklipse keine Fehler, so dass es zu bestätigen scheint, dass es existiert. Im Bild unten sehen Sie, dass mein Eclipse-Projekt dort referenzierte Bibliotheken zeigt. Darin können Sie die FragmentManager-Klasse mit findFragmentById() verfügbar sehen. Ich fand auch die anderen Klassen, auf die ich referenziere, in ähnlicher Weise. So zum Schluss habe ich die Bibliotheken in einem lib-Ordner, und sie werden von Eclipse anerkannt und werfen keine Fehler im Code, aber das Paket wird nicht aufgrund von Fehlern exportieren und der einzige Fehler ist in Zeile eins dieses Codes neben dem " p "im Paket, das besagt: 'Der Typ android.app.Fragment kann nicht aufgelöst werden.
Irgendwelche Ideen Es wird indirekt von erforderlichen .class-Dateien verwiesen wird?
Ich habe versucht, ein paar Mal aufzuräumen und wieder aufzubauen.
Das hat es getan. Immer die kleinen Dinge. –