动态添加了一个点击的图像视图?

时间:2012-11-11 12:42:58

标签: android android-layout

我有一个线性布局,每次用户用相机拍照时我都会用imageviews填充。所以这些图像视图是动态添加的。

对于这些图像视图中的每一个,我附加了一个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属于线性布局,但我需要点击图像视图。

如何检测线性布局中的图像视图?

RG, 埃里克

1 个答案:

答案 0 :(得分:1)

您已将OnClickListener设置为父LinearLayout而不是ImageView

而不是:

lvp.setOnClickListener(new OnClickListener() {

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

使用此:

iv.setOnClickListener(new OnClickListener() {

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