Предупреждение о том, что существует две версии класса R. Существует универсальная версия, которая входит в состав пакетов Android (android.R), и есть специфичная для проекта версия, представляющая ваши локальные файлы ресурсов (com.myname.myapp.R). Просто посмотрите на них как на две версии классов Date в стандартной библиотеке java. (Java.util.Date & java.sql.Date) два класса с одинаковым именем, указанным в package.
я есть приложение, разделенное на подпакеты, только для личной организации:
com.myname.myapp
|
`- com.myname.myapp.activities
|
`- com.myname.myapp.whatever
|
`- ...
Проблема в том, что сгенерированная R.java расположена вcom.myname.myapp
и, таким образом, когда я печатаюR.id.something
в классе из подпакетаcom.myname.myapp.activities
, Я получилR cannot be resolved to a variable
(очевидно, я думаю).
Когда я нажимаю наОрганизовать импорт (Ctrl + Shift + O), Eclipse исправляет это добавлениеimport com.myname.myapp.R
наверху, и все, кажется, работает отлично. Но с другой стороны,Android документация утверждает это:
Eclipse иногда любит добавлять оператор импорта android.R вверху ваших файлов, которые используют ресурсы, особенно когда вы просите eclipse сортировать или иным образом управлять импортом. Это приведет к поломке вашей марки. Посмотрите на эти ошибочные операторы импорта и удалите их
Зная, что все работает отлично, что мне делать?