Przyczyną tego problemu jest zasobów Mówią ci umieścić w RES/wartości/attrs.xml są:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="HelloGallery">
<attr name="android:galleryItemBackground" />
</declare-styleable>
</resources>
Ale wtedy masz ten adapter, który Eclipse nie może dowiedzieć się i szczerze nie ma sensu:
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);
mGalleryItemBackground = a.getResourceId(
android.R.styleable.Theme_galleryItemBackground, 0);
a.recycle();
}
To dlatego, że nie powinieneś mieć "androida". poprzednia zasób, nadająca się do stylowania nazwa to Motyw tutaj, ale HelloGallery w rzeczywistym zasobie, a galeriaItemBackground umieszcza androida między nadającą się do stylu nazwą i atrybutem takim jak ten: Theme_android_galleryItemBackground
Więc jeśli chcesz, aby metoda ImageAdapter działała z Twoimi zasobami " re podane, należy przepisać to tak:
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = a.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
a.recycle();
}
dla przyszłych problemów dotyczących zasobów (R. * nie może być rozwiązany błędy typu), bada /gen/R.java na co środki są rzeczywiście nazwie.
upewnij się jawnie zaimportować klasę R –