Android チュートリアルのHelloGallery のコンパイルエラー

問題

チュートリアルの通りにやると、この部分でエラーが出ます。(2010年1月11日現在)

public ImageAdapter(Context c) {
mContext = c;
TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);
mGalleryItemBackground = a.getResourceId(
android.R.styleable.Theme_galleryItemBackground, 0);
a.recycle();
}

http://developer.android.com/intl/ja/resources/tutorials/views/hello-gallery.html

解決

まず、res/values/attrs.xml を以下のように作成します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="default_gallery">
        <attr name="android:galleryItemBackground" />
    </declare-styleable>
</resources>

次に、問題のコードを以下のように修正します。

    TypedArray a = obtainStyledAttributes
(R.styleable.default_gallery);
    mGalleryItemBackground = a.getResourceId(
        R.styleable.default_gallery_android_galleryItemBackground, 0);

以上です。

詳細

* android.R.styleableクラスは削除されました。
android.R.styleableに定義されている定数はプラットフォームに依存するため、SDKに含めるのはふさわしくないと判断
しました。とはいえ、プラットフォームごとのstylableアトリビュートを使用することは今もできます。res/values/R.attrs
ファイルにタグで定義することでコードやリソースから呼び出すことができます。/samples/ApiDemos/res/values/
attrs.xmlに例があります。
詳細はこちら。
http://code.google.com/android/reference/available-resources.html#cus...

http://groups.google.com/group/android-sdk-japan/browse_thread/thread/861ed46ca0daaba3

まぁ、実はここ↓に書いてあることをやっただけです。
http://www.mail-archive.com/android-beginners@googlegroups.com/msg11862.html

ありがとうございました。