Android Google Maps V2由以下原因引起:java.lang.ClassCastException:com.Google.Android.gms.Maps.SupportMapFragment无法强制转换为Android.app.Fragment

Android Google Maps V2由以下原因引起:java.lang.ClassCastException:com.Google.Android.gms.Maps.SupportMapFragment无法强制转换为Android.app.Fragment,android,google-maps-android-api-2,Android,Google Maps Android Api 2,我班上有这个 import android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.coffeeandcookies.ushuaiamovil.R; public class LayMapa2 extends FragmentActivity { @Override protected void onCreate(Bundle arg0) { setC

我班上有这个

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

import com.coffeeandcookies.ushuaiamovil.R;

public class LayMapa2 extends FragmentActivity
{
    @Override
    protected void onCreate(Bundle arg0) 
    {
        setContentView(R.layout.lay_mapa2);
        super.onCreate(arg0);
    }
}
这在我的xml中

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.google.android.gms.maps.SupportMapFragment" />

谢谢

首先切换super.onCreate,然后切换setContentView


这是因为super.onCreate调用框架的Activity.onCreate来分配膨胀任何布局所需的资源。因此,必须在扩展任何布局之前调用,xml/编程。

首先切换super.onCreate,然后设置ContentView


这是因为super.onCreate调用框架的Activity.onCreate来分配膨胀任何布局所需的资源。因此,必须在扩展任何布局(xml/编程)之前调用。请按如下方式更改代码:

 public class MainActivity extends FragmentActivity  {

     private GoogleMap map;
     private LatLng ltlng;

     @Override
     protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

      }
}

按如下方式更改代码:

 public class MainActivity extends FragmentActivity  {

     private GoogleMap map;
     private LatLng ltlng;

     @Override
     protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

      }
}

检查Bhavesh Patadiya的答案


当您扩展FragmentActivity时,这表明您正在使用与android较低版本兼容的支持库v4。将xml文件中的MapFragment替换为SupportMapFragment。SupportMapFragment是与Android支持包一起使用的。MapFragment用于原生API 11级版本的片段。

检查Bhavesh Patadiya的答案


当您扩展FragmentActivity时,这表明您正在使用与android较低版本兼容的支持库v4。将xml文件中的MapFragment替换为SupportMapFragment。SupportMapFragment是与Android支持包一起使用的。MapFragment适用于本机API 11级版本的片段。

我爱你maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan!!!!!!!!!!你是我的英雄!!!!!如果这个答案有用的话。单击绿色复选框接受为asnwer。是的,我等几分钟。我不能在发布问题的前10分钟内接受答案,我爱你,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!你是我的英雄!!!!!如果这个答案有用的话。单击绿色复选框接受为asnwer。是的,我等几分钟。我不能在问题的前10分钟内接受答案
 public class MainActivity extends FragmentActivity  {

     private GoogleMap map;
     private LatLng ltlng;

     @Override
     protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

      }
}