Посмотрите на свои import
утверждения наверху.Если вы говорите import android.R
, то здесь есть проблема.Это может быть не единственная ошибка, поскольку эти 'R' ошибки могут быть хитрыми, но это определенно, по крайней мере, часть проблемы.
Если это не помогает, убедитесь, что ваш плагин eclipse (ADT) и ваш Android SDK полностью обновлены, удалите проект из эмулятора / телефона, вручную удалив его из ОС, и очиститепроект (Запустите Eclipse-> Project-> Clean ...).Звучит глупо, чтобы убедиться, что ваш материал полностью обновлен, но более ранние версии ADT и SDK содержат много досадных ошибок, связанных с файлами R, которые с тех пор были очищены.
Только к вашему сведению, материал, который отображается в классе R, генерируется из материала в папке res вашего проекта (он же ресурсы).Класс R позволяет вам ссылаться на ресурс (например, изображение или строку) без необходимости выполнять файловые операции повсеместно.Это делает и другие вещи, но это для другого ответа.ОС Android использует аналогичную схему - у нее есть папка ресурсов, а класс android.R - это способ доступа к материалам в папке ресурсов Android.Проблема возникает, когда в одном классе вы используете как свои собственные ресурсы, так и стандартные ресурсы Android.Обычно вы можете сказать import
вверху, а затем ссылаться на класс, просто используя последний бит имени (например, import java.util.List
позволяет просто написать List
в вашем классе, и компилятор знает, что вы имеете в виду java.util.List
).Когда вам нужно использовать два класса с одинаковыми именами, как в случае с автоматически сгенерированным классом R, вы можете импортировать один из них, и вам придется полностью квалифицировать другой, когда вы хотите это иметь в виду.Обычно я импортирую R-файл для своего проекта, а затем просто говорю android.R. независимо от того, когда я хочу ресурс Android.
Также, чтобы повторить Энди, не изменяйте R-файл автоматически.Это не так, как это должно быть использовано.