我自己的项目使用:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="13" />
实施操作栏,我用动作栏夏洛克 http://actionbarsherlock.com/图书馆。我导入了sherlock库作为现有项目添加到我的 Eclipse 中。为了sherlock,目标平台是安卓 v3.2 API 13 .
然后,我添加了sherlock作为我自己项目的图书馆项目。我看到我自己的项目下有图书馆项目。一切似乎都很顺利。
我自己的项目主要 Activity 如下所示:
package com.test;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MyActivity extends FragmentActivity {
/**
* hosts a Fragment, and the Fragment will inflate a layout to show
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fragMgr;
FragmentTransaction fragTrans;
fragMgr = getFragmentManager(); //error complains here
FirstFragment list = new FirstFragment();
fragTrans = fragMgr.beginTransaction();
fragTrans.add(android.R.id.content, list).commit();
}
}
但是,当我运行我的应用程序时,我得到了以下信息error:
java.lang.NoSuchMethodError: com.test.MyActivity.getFragmentManager
Why getFragment
不能用方法解决吗??我已经使用 sherlock 作为我自己项目的项目库......
方法getFragmentManager()
仅从 3.0 开始可用,在Activity
班级。由于您的目标 sdk 是 13,并且FragmentActivity
延伸自Activity
编译时没有问题。
但是当你在较低的sdk(例如7)上运行代码时,就没有这样的方法Activity
班级。所以解决方案是使用:
getSupportFragmentManager();
这将适用于所有Android
版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)