2014-02-18 3 views
0

У меня есть ImageView в деятельности, что я пытаюсь использовать для отображения первого изображения в списке (который будет включаться, когда другое изображение выбрано из галереи)Android ImageView не распознан

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_marginTop="100dp" 
    android:layout_width="250dp" 
    android:layout_gravity="center_horizontal" 
    android:layout_height="250dp" 
    android:src="@drawable/image1" /> 

Теперь мой R.java имеет следующий код:

public static final class drawable { 
    public static final int ic_launcher=0x7f020000; 
    public static Integer image1; 
    public static Integer image2; 
    public static Integer image3; 
    public static Integer image4; 
    public static Integer image5; 
    public static Integer image6; 
    public static Integer image7; 
    public static Integer image8; 
} 

но затмение не нравится, и я не могу ВЗ запустить приложение.

Аналогичным образом, у меня есть класс MyGallery и адаптер, который отвечает за управление этими изображениями, но адаптер не может «видеть» эти переменные по какой-либо причине (несмотря на то, что они являются публичными).

+1

Вы вручную редактируя R.java самостоятельно? – Rhys

+0

Редактирование R.java вам не поможет, ADT делает это за вас. в соответствии с вашим XML, вы должны иметь «public static final int imageView1 = XXXXX;' под «class id», если нет проблем с генерацией R.java, проверьте, проверен ли «Project> Build Automatically» – VenomVendor

+0

Почему вы жестко задаете имя файла в XML? Просто оставьте 'android: src' пустым и инициализируйте его в своей программе по мере необходимости – mangusta

ответ

0

Целое число - это класс, а int - примитивный тип. Измените целые числа на int.

+2

Nooo! «R.java» не следует изменять вручную. – codeMagic

0

SDK будет генерировать R.java для вас. Нет необходимости вручную редактировать его.

Если вы не редактируете R.java, вам нужна сборка проекта. На данный момент все переменные не были присвоены никакому значению.

касаемо SDK автоматизирующей файл R.java:

Если импортировать изображения в /res/.. каталогов, то SDK будет автоматически генерировать статический Drawable класс.

Затем в XML вы можете указать источник извлекаемого элемента. Если я импортировал изображение, скажем, myImage.png, то следующий код будет уместно:

<ImageView 
    android:id="@+id/imageViewExample" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/myImage" /> 
0

В SDK генерирует идентификатор для вас, и что идентификатор является способом получить доступ к ресурсу, поэтому он не делает смысл редактировать его, и вы не должны. Перестройте свой проект, а затем SDK сгенерирует идентификатор. Просто укажите имя и идентификатор в android:id="@+id/<idName>" и SDK будет делать свою работу, если вы хотите, чтобы указать изображение в ImageView использовать src свойство, как это:

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/image" /> 
Смежные вопросы