【问题标题】:Set image Id to image added using drag and drop将图像 ID 设置为使用拖放添加的图像
【发布时间】:2012-05-17 04:14:44
【问题描述】:

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

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

我遇到的问题示例:如果我添加了具有 Id1 的 image1,然后添加了具有 Id2 的 image2,则 image1 Id 将更改为最后添加的图像(在本例中为 image2 Id)。我尝试了很多不同的方法来设置 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);
}

DragActivity.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);
}

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

【问题讨论】:

  • 普通是不可能的,没有人知道。

标签: android image gridview drag-and-drop getter-setter


【解决方案1】:

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

ImageView imageView = new ImageView(_context);
imageView.setTag(1);

然后在GridView's / ImageView's 点击检查它的标签,如下所示:

gridview.setOnItemClickListener(new OnItemClickListener() {

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

        Tag = (Integer) arg1.getTag();

    }
}

【讨论】:

  • 我明白你的意思,但我想检查它们是否已连接。类似于:如果 imageCell0 有 hello 并且 imageCell1 有 hello 然后更改两个图像。
  • 在这种情况下检查标签并比较它们
  • 完美!!正是我所需要的,经过几天的思考和理解,我让它发挥作用。谢谢!!
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多