我正在尝试在针对v10 API的 Android项目中使用Google Maps API v2. 阅读开发指南据说,由于Fragments仅在android api 11中引入,我需要使用Android支持库来使用API. 所以我做了以下事情: – 将andr
阅读开发指南据说,由于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.