ImageViews android的通用OnClickListener

时间:2015-09-09 06:58:20

标签: android android-layout android-activity

您好我的布局中有以下结构

    <LinearLayout..

    <ImageView
    id=1
..
    />
    <ImageView
    id=2
..
    />
    <ImageView
    id=3
..
    />
    <ImageView
    id=4
..
    />

    /LinearLayout>

图像是从总是大小为4的List<ImageTextObject>动态加载的。

   class ImageTextObject{
    Drawable d;
    String str;    
    int a
    ...

    }

我知道我可以从view.getId()获取onClickListener中的Id,但无论如何我可以在单个OnClickListener中获取imageView的ImageTextObject。

View.OnClickListener genericListener= new View.OnClickListener() {
    public void onClick(View v) {
       // find which ImageTextObject is clicked.
    }
  };

由于

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你可以使用Map,当你指定一个drawable.like :- Map<String,ImageTextObject> map = new Map<String,ImageTextObject>();

并把它

map.put(""+view_id,ImageTextObject_object);

稍后使用

获取
View.OnClickListener genericListener= new View.OnClickListener() {
    public void onClick(View v) {
       // find which ImageTextObject is clicked.
      Your_object = map.get(""+v.getId());

    }
  };