使用API8的getFragmentManager函数

7

我将我的应用程序构建为以API17为目标和minSDK 12 现在我必须使应用程序在Android 2.2(API8)设备上运行,我将minSDK更改为8并将目标SDK也更改为8,还修复了一些错误,但我不知道如何解决这个问题。

map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

(错误:getFragmentManager()未定义) 如何使用Google地图V2
我将这些内容添加到活动中

import android.support.v4.app.* ;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.FragmentManager;

我应该做什么来解决这个问题?

你需要使用 getSupportFragmentManager(),并且继承 FragmentActivity 而不是 Activity - Raghunandan
3个回答

14

你的类必须扩展 FragmentActivity。确保你已经添加了支持库。

SupportMapFragment fm = (SupportMapFragment)   getSupportFragmentManager().findFragmentById(R.id.map);
mMap = fm.getMap(); 

还有在你的xml文件中

<fragment
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

同时确保你已经导入了所需内容

 import android.support.v4.app.FragmentActivity;  
 import com.google.android.gms.maps.SupportMapFragment;  

3

0

你需要像这篇文章所描述的那样使用getSupportFragmentManager()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接