Java 为什么Android Studio没有';t自动导入正确的程序包android.support.v4.app.Fragment

Java 为什么Android Studio没有';t自动导入正确的程序包android.support.v4.app.Fragment,java,android,android-studio,intellij-idea,Java,Android,Android Studio,Intellij Idea,我在Android StudioV2.0中为自动导入设置了以下设置,并创建了一个新的片段类,如下所示 import android.app.Fragment; public class MyFragment1 extends Fragment { // some code } 但当我试图在一个碎片页面编辑器中使用它时,如下所示 public class MyFragmentPagerAdapter extends FragmentPagerAdapter { public MyFrag

我在Android StudioV2.0中为自动导入设置了以下设置,并创建了一个新的片段类,如下所示

import android.app.Fragment;

public class MyFragment1 extends Fragment {

// some code
}

但当我试图在一个碎片页面编辑器中使用它时,如下所示

public class MyFragmentPagerAdapter extends FragmentPagerAdapter {

public MyFragmentPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int position) {
    switch (position) {
        case 0:
            return new MyFragment1(); //error here
        case 1:
            return new MyFragment2(); //error here
    }
}
我收到这个错误:

不兼容的类型。找到:“com.example.android.viewpager.MyFragment1”,必需:“android.support.v4.app.Fragment”

当然,当我将MyFragment1上的导入从
android.app.Fragment
更改为
android.support.v4.app.Fragment
时,错误将消失

我的问题是:为什么Android Studio没有自动导入正确的软件包?

这是Android Studio中的错误还是我做错了什么?

导入类时,包名按字母顺序排列

它只是解析它找到的第一个

如果您希望“显示导入弹出窗口”选项为您提供使用该选项的选项,则应启用该选项


导入类时,包名称按字母顺序排列

它只是解析它找到的第一个

如果您希望“显示导入弹出窗口”选项为您提供使用该选项的选项,则应启用该选项


您可以做的一件事是在弹出窗口出现时首先键入
片段
,只需按escape键忽略它即可。输入完毕后,按Alt+Enter(鼠标光标应在Fragment上),现在将显示带有两个导入选项的弹出窗口,您可以在此处选择所需的选项


按Alt+Enter键时,如果只有一个可用的
导入选项,它将自动导入,而不会弹出任何弹出窗口。

您可以做的一件事是在弹出窗口出现时首先键入
片段
,只需按escape键忽略它。输入完毕后,按Alt+Enter(鼠标光标应在Fragment上),现在将显示带有两个导入选项的弹出窗口,您可以在此处选择所需的选项


按Alt+Enter键时,如果只有一个可用的
导入,它将自动导入,而不会弹出任何弹出窗口。

这似乎合乎逻辑,但我有另一个问题。我检查了“显示导入弹出窗口”,但它没有显示,仍然执行自动导入。这个问题以前有报道过,现在还不确定。我通常不相信自动导入同名的类。这似乎合乎逻辑,但我还有另一个问题。我检查了“显示导入弹出窗口”,但它没有显示,仍然执行自动导入。这个问题以前有报道过,现在还不确定。我通常不相信自动导入相同名称的类。