我想从初始活动中调用片段活动..
该应用程序由两个类组成。我要做的就是当我从 MainActivity 单击 btn1(Button) 时,它应该显示 Google Map V2 ..(我不想将其称为属于的片段活动到 MainActivity,,)
- MainActivity.java (活动)
- MapView.java (FragmentActivity)
但是,它显示以下错误
10-20 17:44:51.243: E/AndroidRuntime(1615): FATAL EXCEPTION: main
10-20 17:44:51.243: E/AndroidRuntime(1615): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mgrs.converter.pro/com.mgrs.converter.pro.MapView}: java.lang.NullPointerException
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.os.Looper.loop(Looper.java:137)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.ActivityThread.main(ActivityThread.java:4745)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at java.lang.reflect.Method.invokeNative(Native Method)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at java.lang.reflect.Method.invoke(Method.java:511)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at dalvik.system.NativeStart.main(Native Method)
10-20 17:44:51.243: E/AndroidRuntime(1615): Caused by: java.lang.NullPointerException
10-20 17:44:51.243: E/AndroidRuntime(1615):     at com.mgrs.converter.pro.MapView.onCreate(MapView.java:65)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.Activity.performCreate(Activity.java:5008)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
10-20 17:44:51.243: E/AndroidRuntime(1615):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
10-20 17:44:51.243: E/AndroidRuntime(1615):     ... 11 more
------MainActivity.java
public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mLocMan = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
        mProvider = mLocMan.getBestProvider(new Criteria(), true);
        LocationListener mListener = new Geocoord();
    //Button 0
    final Button btn = (Button)findViewById(R.id.btn);
    btn.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
        ....    
    }
    }); //ends button0
    //Button 1
    Button btn1 = (Button)findViewById(R.id.btn1);
    btn1.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {
            btn.performClick();
            Intent intent = new Intent(MainActivity.this, MapView.class);
            startActivity(intent);
        }//ends onClick 
        });
    }//ends onCreate
}//ends Activity
------MapView.java
public class MapView extends FragmentActivity {
    GoogleMap mGoogleMap;
    //Variables vari;
    Converter converter = new Converter();
    //initial values for marker
    LocationManager mLocMan;
    String mProvider;
      //current position
      double lon = converter.getLongitude();
      double lat = converter.getLatitude();
      //site#1
      double lon1 = converter.getfinalLon();
      double lat1 = converter.getfinalLat();
      //site#2
      double lon2 = converter.getinitLon();
      double lat2 = converter.getinitLat();       
      //google Maps LatLng() method
      LatLng position = new LatLng(lat, lon);
      LatLng position1 = new LatLng(lat1, lon1);
      LatLng position2 = new LatLng(lat2, lon2);
    @Override
     protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.mapview);          
      mGoogleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
      mGoogleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapview)).getMap();
      //add marker
      //mGoogleMap.addMarker(new MarkerOptions().position(position).title("current")).showInfoWindow();
      mGoogleMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.site1)).position(position1).title("Site#1")).showInfoWindow();
      mGoogleMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.site2)).position(position2).title("Sitee#2")).showInfoWindow();
      //
      mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position1, 10));
     }//ends onCreate
}//ends MapView