Android チュートリアルのHelloGallery のコンパイルエラー
問題
チュートリアルの通りにやると、この部分でエラーが出ます。(2010年1月11日現在)
public ImageAdapter(Context c) {
http://developer.android.com/intl/ja/resources/tutorials/views/hello-gallery.html
mContext = c;
TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);
mGalleryItemBackground = a.getResourceId(
android.R.styleable.Theme_galleryItemBackground, 0);
a.recycle();
}
解決
まず、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クラスは削除されました。
http://groups.google.com/group/android-sdk-japan/browse_thread/thread/861ed46ca0daaba3
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://www.mail-archive.com/android-beginners@googlegroups.com/msg11862.html
ありがとうございました。