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,然后更改两个图像。在这种情况下,检查标记并比较它们完美!!正是我所需要的,经过几天的思考和理解,我让它工作起来。谢谢