私は問題があります。
アダプターの getView メソッドで、画像ビューのクリック イベントが呼び出されません。どうしてこうなったのか不思議です。私にとってのコードは問題ないようです。
以下は私のコードです:
//---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView = null;
if (convertView == null) {
imageView = new ImageView(act);
imageView.setLayoutParams(new GridView.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
imageView.setTag(position);
} else {
imageView = (ImageView) convertView;
}
if((Integer)imageView.getTag() == 0) {
imageView.setLayoutParams(new GridView.LayoutParams(200, 200));
imageView.setPadding(10, 5, 10, 5);
Bitmap bitmap = ThumbnailUtils.extractThumbnail(imgPic.get(position).getBitmap(), 200, 200);
imageView.setImageBitmap(bitmap);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}
imageView.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//TODO Auto-generated method stub
if((Integer)v.getTag() != 0) {
//opens the image to view.
//Intent
}
}
});
}
注: グリッド ビューがあります。グリッド ビューの最初の項目は、常に存在するカメラ イメージです。これをクリックすると、カメラが開きます。画像がキャプチャされると、それらはこのカメラ画像に位置合わせされます。
したがって、arraylist にはカメラのビットマップ イメージと、キャプチャされたイメージのファイル パスがあります。