Как я могу исправить проблему с нераспознанным классом?

#java #android #android-studio #gradle #android-gradle-plugin

#java #Android #android-studio #gradle #android-gradle-плагин

Вопрос:

У меня есть приложение для Android, и я создал папки Java для организации своего кода. Итак, я очищаю и перестраиваю проект и включаю импорт в каждый из моих классов. потому что теперь путь к классам изменился. Я думал, что android Studio может обнаружить это и автоматически исправить импорт. Но с тех пор выдает всевозможные ошибки при использовании другого класса в моем проекте. давайте возьмем, например, следующую строку кода внутри одного из моих классов, который использует другой класс внутри папки «activity».

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

Я должен указать полный путь к activity, и даже тогда он не распознает класс. Мне приходится постоянно перестраивать свой проект, чтобы исправить эти ошибки. но этот не найдет activity / class. Я получаю сообщение об ошибке

 error: cannot find symbol class BookScanActivity
  

это структура моей проектной
деятельности, dbhelper, runnables
Оба BookScanActivity и AllScanActivity находятся внутри каталога «activity». Как я могу исправить весь мой импорт, чтобы мне не приходилось исправлять это все время. и вместо того, чтобы использовать полный путь, например: org.pctechtips.netdroid ..бла.бла… Я просто могу использовать имя класса?
Кроме того, я заметил, что после того, как я организовал свой код внутри каталогов, в 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']
        }
    }
  

путь кажется правильным, так почему же он не работает? Спасибо

Комментарии:

1. Попробуйте удалить пакет с именем класса org.pctechtips.netdroid.activity. BookScanActivity.class , и снова импортировать.

Ответ №1:

Вы должны удалить всю sourceSets конфигурацию, потому что все, кроме первой записи, не имеют смысла (и это конфигурация по умолчанию), а затем щелкните по любому имени класса, которое выделено красным цветом в коде Java, и нажмите <Alt> <Enter> (или <option> <Enter> на Mac), чтобы добавить import для этого класса.

Также см. раздел Освоение сочетаний клавиш IntelliJ IDEA.

Комментарии:

1. Если OP находится на Mac OS, так и должно быть <option> <Enter> .