0

私は問題があります。

アダプターの 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 にはカメラのビットマップ イメージと、キャプチャされたイメージのファイル パスがあります。

4

3 に答える 3