Gallery 完全沒用過所以是上網查了之後才做的,而且範例中把 Adapter 設為內置類別讓我覺得非常困惑...
首先一定要有 adapter 要用的陣列,因為是圖片所以是一組儲存 resource id 的整數陣列。
final int[] imgIds = {
R.drawable.png001,
...
};
然後是對 adapter 來說最重要的 getView 設定@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imgView = new ImageView(mCtxt);
imgView.setImageResource(imgIds[position]);
imgView.setLayoutParams(new Gallery.LayoutParams(236, 188));
return imgView;
}
因為是圖像所以用 ImageView,mCtxt是傳入Activity的實體,然後設定 resource 為依據索引在陣列中取得剛剛設置的圖像資源。最後就是設置 adapter 給 Gallery,然後設置 listener。
ImageAdapter imgAdapter = new ImageAdapter(this);
myGallery.setAdapter(imgAdapter);
myGallery.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) {
// TODO Auto-generated method stub
Toast.makeText(GDD01.this,
GDD01.this.getResources().getString(R.string.my_gallery_text_pre)
+ arg2 +
GDD01.this.getResources().getString(R.string.my_gallery_text_post),
Toast.LENGTH_LONG).show();
}
});

沒有留言:
張貼留言