La raison de ce problème est que les ressources qu'ils vous disent à mettre en res/values/attr.xml sont:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="HelloGallery">
<attr name="android:galleryItemBackground" />
</declare-styleable>
</resources>
Mais ensuite, vous obtenez cette carte, qui Éclipse ne peuvent pas comprendre, et franchement, il n'a pas de sens:
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);
mGalleryItemBackground = a.getResourceId(
android.R.styleable.Theme_galleryItemBackground, 0);
a.recycle();
}
C'est parce que vous ne devriez pas avoir "d'android." précédent, les ressources, la styleable nom est sujet ici, mais HelloGallery dans le réel de la ressource, et la galleryItemBackground met android entre les styleable nom et l'attribut comme ceci: Theme_android_galleryItemBackground
Donc, si vous voulez que la ImageAdapter méthode de travail avec les ressources que vous avez donné, vous devez réécrire comme ceci:
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = a.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
a.recycle();
}
Pour de futurs problèmes concernant les ressources (R.* ne peut pas être résolu type d'erreurs), examiner /gen/R.java pour que les ressources sont effectivement d'être nommé.