其他分享
首页 > 其他分享> > Android支持库v4和Google Maps API中断了编译

Android支持库v4和Google Maps API中断了编译

作者:互联网

我正在尝试在针对v10 API的Android项目中使用Google Maps API v2.
阅读开发指南据说,由于Fragments仅在android api 11中引入,我需要使用Android支持库来使用API​​.

所以我做了以下事情:
– 将android支持库v4 jar包含到我的项目中
– 包含“google-play-services-lib”库项目并引用它
– 编写以下代码,取自开发指南:

package com.darco.darcoapp;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;

public class CardJourneyActivity extends FragmentActivity{
    private GoogleMap myGoogleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_card_journey);

        FragmentManager fm = getSupportFragmentManager();
        Fragment fr = fm.findFragmentById(R.id.mapFragmentCardJourney);
        MapFragment mf = (MapFragment)fr; //this line causes the compilation error

    }

正如评论所指出的那样,问题出现在最后一行代码上.
当我添加Eclipse中出现以下错误时(不在该行上,而是在文件的顶部):

The type android.app.Fragment cannot be resolved. It is indirectly referenced from required .class files

和Eclipse拒绝编译项目.

我已经尝试了在项目设置中我能想到的所有可能的配置,但也许有些东西让我不知道……我做错了什么?我在网上发现了一些有类似问题但没有解决方案,或者至少没有他们提出的解决方案.

解决方法:

当您使用Android Support包的片段backport时,请使用SupportMapFragment,而不是MapFragment.

标签:google-maps-api-2,android,eclipse,android-support-library
来源: https://codeday.me/bug/20190729/1569819.html