Android SDKドキュメントのちょっとしたミスGalleryについての勉強


最近GalleryのSDKドキュメントを勉強していると、androidのsdkドキュメントはGalleryの例についてちょっとした間違いがあることがわかりました.ここにコードを貼って、勉強している人に参考にしてもらいます.
まずGalleryを紹介しますandroidのギャラリーで画像を閲覧できますが、
次はsdkのtutorialのコードです
 1.res/layout/main.xmlに次のコードを書きます.
  
<?xml version="1.0" encoding="utf-8"?>
<Gallery xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gallery"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>

 
2.Activityでのコードは以下の通り、HelloGallery.JAvaのコードは次のとおりです.
 @Override public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);     Gallery g = (Gallery) findViewById(R.id.gallery);     g.setAdapter(new ImageAdapter(this));     g.setOnItemClickListener(new OnItemClickListener() {         public void onItemClick(AdapterView parent, View v, int position, long id) {             Toast.makeText(HelloGallery.this, ""+ position, Toast.LENGTH_SHORT).show();         }     }); }
 
3.res/values/ディレクトリの下にattrs.xml , (Gallery) , を作成<?xml version="1.0" encoding="utf-8"?>
<resources>
   
<declare-styleable name="HelloGallery">
       
<attr name="android:galleryItemBackground" />
   
</declare-styleable>
</resources>
  4. ImageAdapte.java , (Gallery), 。 , 。     public class ImageAdapter extends BaseAdapter {
   
int mGalleryItemBackground;
   
private Context mContext;

   
private Integer[] mImageIds = {
            R
.drawable.sample_1,
            R
.drawable.sample_2,
            R
.drawable.sample_3,
            R
.drawable.sample_4,
            R
.drawable.sample_5,
            R
.drawable.sample_6,
            R
.drawable.sample_7
   
};

   
public ImageAdapter(Context c) {
        mContext
= c;

        //TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery);//これはsdkで提供されている関数ですが、android 2.3ではコンパイルできません.
//ここで変更します.obtainStyledAttributesはContextが属する関数TypedArray=mContextです.obtainStyledAttributes(R.styleable.HelloGallery);         mGalleryItemBackground = a.getResourceId(                 R.styleable.HelloGallery_android_galleryItemBackground, 0);         a.recycle();     }     public int getCount() {         return mImageIds.length;     }     public Object getItem(int position) {         return position;     }     public long getItemId(int position) {         return position;     }     public View getView(int position, View convertView, ViewGroup parent) {         ImageView i = new ImageView(mContext);         i.setImageResource(mImageIds[position]);         i.setLayoutParams(new Gallery.LayoutParams(150, 100));         i.setScaleType(ImageView.ScaleType.FIT_XY);         i.setBackgroundResource(mGalleryItemBackground);         return i;     } }