Причиной этой проблемы являются ресурсы, которые они говорят вам поместить в res / values / attrs.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="HelloGallery">
<attr name="android:galleryItemBackground" />
</declare-styleable>
</resources>
Но тогда вы получите этот адаптер, который Eclipse не может понять и, честно говоря, не имеет смысла:
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);
mGalleryItemBackground = a.getResourceId(
android.R.styleable.Theme_galleryItemBackground, 0);
a.recycle();
}
Это потому, что у тебя не должно быть "андроида". перед ресурсами, здесь настраиваемым именем является Theme, а в фактическом ресурсе HelloGallery, а galleryItemBackground помещает android между настраиваемым именем и атрибутом, например так: Theme_android_galleryItemBackground
Поэтому, если вы хотите, чтобы метод ImageAdapter работал с указанными вами ресурсами, вы должны переписать его следующим образом:
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = a.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
a.recycle();
}
Для будущих проблем, связанных с ресурсами (R. * не может быть решена ошибка типа), проверьте /gen/R.java для того, что ресурсы на самом деле именуются.