29

我正在尝试此博客中的应用程序。在扩展 时FragmentActivity,我收到以下错误:

`FragmentActivity` was not able to resolve.

我是否缺少任何图书馆或其他任何东西?

我的代码:

public class Testing_newActivity extends FragmentActivity { // here the FragmentActivity getting error package not found for import
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        if (getResources().getConfiguration().orientation
                == Configuration.ORIENTATION_LANDSCAPE) {
            // If the screen is now in landscape mode, we can show the
            // dialog in-line so we don't need this activity.
            finish();
            return;
        }

        if (savedInstanceState == null) {
            // During initial setup, plug in the details fragment.
            DetailsFragment details = new DetailsFragment();
            details.setArguments(getIntent().getExtras());

            getSupportFragmentManager().beginTransaction().add(
                    android.R.id.content, details).commit();
        }       
    }
}

安卓清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.searce.testingnew"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="11" />

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
        <activity android:label="@string/app_name" android:name=".Testing_newActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
4

4 回答 4

45

在等待这个答案很长时间之后,我已经整理好了,我认为很多其他人需要一个简单的解决方案来解决这个问题。

警告:此解决方案适用于使用 Indigo 或更低版本的 eclipse 用户。仍在寻找使用其他 IDE 的 Android 解决方案用户。

当为您的应用程序扩展2.2 或更低版本时,您可以从这里FragmentActivity下载 android.supportv4.jar或者您可以从您的 android-sdk 目录中获取它并放入您的项目中。..\android-sdk\extras\android\support\v4

如果您的项目中没有目录 libs,请创建 libs 目录并将 android.supportv4.jar 文件粘贴到该目录中。

从 Eclipse 项目工作区:选择project/application要在其中使用。右键单击Project并选择Properties选项。在此选择Java build path并选择选项卡Libraries

在此处输入图像描述

现在单击添加 Jar。它将显示具有选定当前项目的当前项目列表。

展开它并转到 libs 目录并选择 android.supportv4.jar 文件,然后单击确定。它现在将显示在列表框中。Remember add the jar file as relative path path not as absolute path, so whenever if you change the directory of your project or open in another machine then will detect automatically for the project directory.现在单击“确定”关闭“属性”对话框。

您可以android.support.v4.app.FragmentActivity;通过将鼠标放在 FragmentActivity 上或按 ctrl+shift+o 导入丢失的文件来导入。

希望你现在能得到 FragmentActivity 类。

如果您使用的是 eclipse juno,则无需担心下载支持 jar 文件。它将自动放入 libs 目录并自动添加到您的项目路径中。如果没有,则通过该Properties选项并添加它。

还有一件事如果您需要支持较低版本的应用程序,则使用较高版本构建并将您的这一行添加到您的 androidmanifest.xml 文件中

<uses-sdk
    android:minSdkVersion="3"
    android:targetSdkVersion="15" />

这现在将支持 1.5 到 4.0.1 版本的设备。

于 2012-09-12T07:31:04.540 回答
37

如果您使用的是 eclipse 和 windows,以下是您可以摆脱此错误的方法。

Right click on your project folder->Build path-> Configure build path-> 
Add External Jars -> select "android-support-v4.jar" file (It'll be located in Android "android-sdk-windows\extras\android\support")
then click OK.
于 2012-06-28T05:30:02.623 回答
5

您必须将外部 android 支持 Jar 添加到您的类路径中,例如在我的情况下,我添加了 android-support-v4.jar 它通常位于{android_home}\extras\android\support\v4目录中。我正在使用 Windows XP,就我而言,它位于C:\Program Files\Android\android-sdk\extras\android\support\v4

希望这对正在寻找答案的人有所帮助。

于 2012-04-25T22:38:52.387 回答
2

FragmentActivity 是兼容性库的一部分,而不是 Android 3.0 sdk。除非您想要向后兼容,否则您不需要使用它。

不知道为什么这里提到这可能是它的项目特定类。

尝试查看 sdk 附带的 HCGallery 示例

于 2011-11-17T09:41:58.927 回答