如何在应用程序中编写两个活动?

时间:2013-11-18 05:58:09

标签: android android-maps-v2

我想写两个活动,一个是活动,另一个是mapactivity,但它可以在下面得到错误消息

Caused by: android.view.InflateException: Binary XML file line #129: Error inflating class com.google.android.maps.MapView
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.

PS: 我写了一个关于照片上传的应用程序,如果我想在每张照片上添加GPS功能,将上传的经度和纬度作为传递给服务器的参数,请告诉我如何处理,谢谢。

1 个答案:

答案 0 :(得分:1)

您无法在其他活动中创建地图活动。

您需要制作片段活动并在那里显示地图

www.youtube.com/watch?v=awX5T-EwLPc

您可以参考以下视频。

这是一个应该有用的示例代码。

public class MainActivity extends android.support.v4.app.FragmentActivity 
implements OnMapClickListener {

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

     // Try to obtain the map from the SupportMapFragment.
        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();
        if (mMap== null)
        {
            Toast.makeText(this,"Google Maps not Available",
                    Toast.LENGTH_LONG).show();
        }
     //   mMap.setOnMapClickListener(this);
        mMap.setMyLocationEnabled(true);

    }

不要忘记获取API密钥,并正确更新您的清单。 根据需要制作正确的片段xml。