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(); } });
沒有留言:
張貼留言