ここでこの件に関するいくつかの質問を見つけましたが、私のプロジェクトがクラスを含むライブラリを参照しているため、それらの回答は当てはまらないようです。これが私のコードです:
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"));
}
}
インポートで Fragment ライブラリを参照したことがわかります。Eclipse はエラーをスローしないため、その存在を認識しているようです。下の画像では、私のEclipseプロジェクトが参照されているライブラリを示していることがわかります。その中で、findFragmentById() が利用可能な FragmentManager クラスを確認できます。同様の方法で参照している他のクラスも見つけました。結論として、lib フォルダーにライブラリーがあり、それらは eclipse によって認識され、コードにエラーはスローされませんが、パッケージはエラーのためにエクスポートされず、唯一のエラーはこのコードの 1 行目の " p」と記載されているパッケージ内:「型 android.app.Fragment を解決できません。必要な .class ファイルから間接的に参照されます。
何か案は?
パスのクリーンアップと再構築を数回試みました。