4

我正在为这个错误而苦苦挣扎,我真的无法做到。我尝试导入 android.support.v13.app.FragmentActivity;进入一个类,但它给了我错误:无法解析导入 android.support.v13.app.FragmentActivity。我想提一下,我在 libs 文件夹中有 v13 和 v4。我使用了 Clean、Android 支持库和修复项目属性。如果重要的话,目标设备是 2.3.3。谢谢你。我真的很希望有人可以帮助我。编辑:编辑 v4 后,很多错误都消失了,我只有 2 个。我是 android 的初学者,所以如果你能解释一下这里出了什么问题:

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm); //Error: The constructor Fragmentstagepageadapter(FragmentManager) is undefined
    }

@Override
public **Fragment** getItem(int position) { //And Here: The return type is incompatible
    return ScreenSlidePageFragment.create(position);
}

@Override
public int getCount() {
    return NUM_PAGES;
}

}

4

2 回答 2

2

FragmentActivity 是 v4 文件夹的一部分,对吧?v13 仅表示 API 13 及更高版本将使用该文件夹中的类。因此,虽然您可能拥有该文件夹,但我敢打赌其中没有 FragmentActivity :) 将您的导入更改为具有 v4 而不是 v13。

http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html

所以你知道如果你使用 SupportLib,你不能从操作系统中使用 Fragment,你必须只使用 SupportLib 中的 Fragment 类。这包括 Fragment 本身。

http://developer.android.com/reference/android/support/v4/app/Fragment.html vs http://developer.android.com/reference/android/app/Fragment.html ..基本上是android里面的任何东西与片段有关的 .app 不能与您的 SupportLib 类一起使用。它们不是同一个类层次结构,也不兼容。

于 2013-01-01T22:36:07.720 回答
2

这是我对一个非常相似的问题给出的答案:

将“import android.support.v13.app.FragmentActivity”更改为“import android.support.v4.app.FragmentActivity”

对于未定义的部分,请尝试以下语法:

public class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter (android.support.v4.app.FragmentManager fm) {
    super(fm);
}

和:

@Override
public android.support.v4.app.Fragment getItem(int position) {
    return ScreenSlidePagerAdapter.create(position);
}
于 2013-01-02T20:15:31.863 回答