0

私は、ユーザーがカメラで写真を撮るたびに画像ビューで埋める線形レイアウトを持っています。したがって、これらのイメージビューは動的に追加されます。

これらの各画像ビューにOnClickイベントを添付して画像を開き、別のアクティビティの別の画像ビューに表示しました。

各imageviewには、ビットマップ情報を含むarraylistアイテムを含むタグがあります。

OnClickイベント:

ImageView iv = new ImageView(this);
LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,     LinearLayout.LayoutParams.WRAP_CONTENT);
iv.setLayoutParams(params);
iv.setImageBitmap(mBitmap);
iv.setTag(pli);
iv.setPadding(5, 5, 5, 5);
lvp.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {
    PhotoList pli = (PhotoList) arg0.getTag();
    Intent i = new Intent(getBaseContext(), PhotoActivity.class);
    i.putExtra("photo", pli.Photo);
        i.putExtra("PhotoId", pli.id);
    startActivity(i);
}
});

lvp.addView(iv);

明らかに、arg0.getTag()の行は機能していません。変数arg0はlinearlayoutですが、imageviewをクリックする必要があります。

linearlayoutのimageviewがクリックされたことを検出するにはどうすればよいですか?

rg、エリック

4

1 に答える 1

1

の代わりにをOnClickListener親に設定しました。LinearLayoutImageView

これの代わりに:

lvp.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {
        ...
    }
});

これを使って:

iv.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {
        ...
    }
});
于 2012-11-11T14:03:58.040 に答える