如何解决无法识别的 class 问题?

How can I fix an unrecognized class issue?

我有一个 android 应用程序,我创建了 java 个文件夹来组织我的代码。所以我清理并重建项目并将导入包含到我的每个 classes 中。因为现在 classes 的路径已经改变了。我认为 android studio 可以检测到这一点并自动修复导入。但是从那以后在我的项目中使用另一个 class 时会出现各种错误。让我们以我的 classes 中的以下代码行为例,它使用 "activity" 文件夹中的另一个 class。

Intent BookScanIntent = new Intent(AllScanActivity.this, org.pctechtips.netdroid.activity.BookScanActivity.class);

我必须包含 activity 的完整路径,即使那样它也无法识别 class。我必须不断地重建我的项目来修复这个错误。但是这个不会找到 activity/class。我收到错误

error: cannot find symbol class BookScanActivity

这是我项目的结构 activity、dbhelper、runnable BookScanActivity 和 AllScanActivity 都在 "activity" 目录中。我怎样才能修复我所有的进口,这样我就不必一直纠正这个问题。而不是使用完整路径,例如:org.pctechtips.netdroid..blah.blah...我可以使用 class 的名称吗? 另外,我注意到在目录中组织我的代码后 gradle 现在有一个条目

sourceSets {
        main {
            java.srcDirs = ['src/main/java', 'src/main/java/org/pctechtips/netdroid/runnable', 'src/main/java/org/pctechtips/netdroid/adapters', 'src/main/java/org/pctechtips/netdroid/dbhelper', 'src/main/java/org/pctechtips/netdroid/classes', 'src/main/java/org/pctechtips/netdroid/activity']
        }
    }

路径似乎是正确的,为什么不工作?谢谢

您必须删除整个 sourceSets 配置,因为除了第一个条目之外的所有条目都是无意义的(这是默认配置)- 然后单击任何 class-name在 Java 代码中是红色的,然后点击 <Alt> + <Enter>(或 Mac 上的 <option> + <Enter>)为 class 添加一个 import

另见 Mastering IntelliJ IDEA keyboard shortcuts