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