FragmentActivity无法解析为某种类型

时间:2011-11-17 09:34:12

标签: android android-fragmentactivity

我正在尝试this blog的应用程序。在扩展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();
        }       
    }
}

android清单文件

<?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 个答案:

答案 0 :(得分:45)

等了很长时间才得到这个答案,我已经把事情搞清楚了,我认为很多其他人都需要一个简单的解决方案来解决这个问题。

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

在为版本为2.2或更低版本的应用程序扩展FragmentActivity时,可以从here下载android.supportv4.jar,或者从android-sdk目录{{1并放入你的项目。

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

从eclipse项目工作区: 选择您要使用的..\android-sdk\extras\android\support\v4。右键单击project/application并选择Project选项。在此选择Properties并选择标签Java build path

enter image description here

现在点击Add Jar。它将显示当前所选项目的当前项目列表。

展开它并转到libs目录并选择android.supportv4.jar文件,然后单击确定。它现在将显示在列表框中。 Libraries现在单击“确定”关闭“属性”对话框。

您可以通过将鼠标放在FragmentActivity上或按ctrl + shift + o导入丢失的文件来导入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.

希望你现在可以获得FragmentActivity类。

如果您正在使用eclipse juno,则无需担心下载支持jar文件。它会自动放入libs目录并自动添加到项目路径中。如果不是,则通过android.support.v4.app.FragmentActivity;选项并添加它。

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

Properties

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

答案 1 :(得分:38)

如果你正在使用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.

答案 2 :(得分: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

希望这有助于寻找答案的人。

答案 3 :(得分:1)

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

不确定为什么在这里提到它可能是一个项目特定的类。

尝试查看随sdk附带的HCGallery示例