Android 将图像Id设置为使用拖放添加的图像

Android 将图像Id设置为使用拖放添加的图像,android,image,gridview,drag-and-drop,getter-setter,Android,Image,Gridview,Drag And Drop,Getter Setter,我需要知道哪个图像在哪个单元格中,所以我只尝试使用.setId()和.getId()。但如果有其他方法,请告诉我 单击按钮时会添加图像。我没有显示它们出现的位置,但我的问题是,我正在尝试为我能够添加的每个图像添加一个Id。因此,当我将它们放到GridView中并单击其中一个时,如果Id是正确的,我可以执行其他操作,例如,if(Id==1)open。。。否则,如果(id==2)打开其他东西。但是我无法将Id保存到图像中(或保存到该ImageCell) 我遇到的问题示例:如果我添加了具有Id1的im

我需要知道哪个图像在哪个单元格中,所以我只尝试使用
.setId()
.getId()
。但如果有其他方法,请告诉我

单击按钮时会添加图像。我没有显示它们出现的位置,但我的问题是,我正在尝试为我能够添加的每个图像添加一个Id。因此,当我将它们放到GridView中并单击其中一个时,如果
Id
是正确的,我可以执行其他操作,例如,
if(Id==1)open。。。否则,如果(id==2)打开其他东西
。但是我无法将
Id
保存到图像中(或保存到该
ImageCell

我遇到的问题示例:如果我添加了具有Id1的image1,然后添加了具有Id2的image2,image1 Id将更改为添加的最后一个图像(在本例中为image2 Id)。我已经尝试了很多不同的方法来设置Id,但是我仍然会删除第一个中的最后一个图像Id

我用Toast来显示图像丢弃的Id。这是ImageCell代码

public void onDrop(DragSource source, int x, int y, int xOffset, int yOffset,
    DragView dragView, Object dragInfo)
{
mEmpty = false;

ImageView sourceView = (ImageView) source;
sourceView.setId(DragActivity.m);
Drawable d = sourceView.getDrawable ();
this.setId(sourceView.getId());
if (d != null) {
   this.setImageDrawable (d);
   this.setId(sourceView.getId());
   prueba = this.getId();
}
toast ("" + prueba);
}
m只是一个用于更改图片的变量

public void addNewImageToScreen() {
    int resourceId = R.drawable.hello;

    m = mImageCount % 3;
    if (m == 1) {
        resourceId = R.drawable.photo1;
    } else if (m == 2) {
        resourceId = R.drawable.photo2;
    }
    addNewImageToScreen(resourceId);
}

有人知道我做错了什么吗?谢谢

我认为您正在尝试交换图像,在这种情况下,您可以通过如下标记唯一地识别
ImageView

ImageView imageView = new ImageView(_context);
imageView.setTag(1);
gridview.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {

        Tag = (Integer) arg1.getTag();

    }
}
然后在
GridView
的/
ImageView
上单击检查其标记,如下所示:

ImageView imageView = new ImageView(_context);
imageView.setTag(1);
gridview.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {

        Tag = (Integer) arg1.getTag();

    }
}
gridview.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
Tag=(整数)arg1.getTag();
}
}

Common是不可能没有人知道的。我明白你的意思,但我想检查它们是否连接。比如:如果imageCell0有hello和imageCell1有hello,然后更改两个图像。在这种情况下,检查标记并比较它们完美!!正是我所需要的,经过几天的思考和理解,我让它工作起来。谢谢