我是Java和Android编程的新手,如果我的英语不好,我很抱歉:D
我正在使用拖放功能制作应用。我正在使用RelativeLayout作为放置区域,并将生成的ImageView用作项目。
数据来自ListView。当我拖动ListView项并将其放在relativeLayout上时,它将创建一个ImageView。但是如何将ListView项中的值“插入”到ImageView中,这样我就可以在布局上删除新项目时检查现有数据,这样就无法删除listview中的相同数据。
这是我在ACTION_DROP上的代码
ClipData.Item item = event.getClipData().getItemAt(0);// I can get the dropped Item data from this
int x_cord = (int) event.getX();
int y_cord = (int) event.getY();
final RelativeLayout root = (RelativeLayout)findViewById(R.id.relLay);
final ImageView img = new ImageView(getApplicationContext());
img.setMinimumWidth(32);
img.setMaxWidth(32);
img.setMinimumHeight(32);
img.setMaxHeight(32);
img.setBackgroundResource(R.drawable.marker2);
img.setX(x_cord);
img.setY(y_cord);
root.addView(img);
答案 0 :(得分:1)
为您创建的每个视图创建一个唯一ID,以便区分。
Object tag = ... // Create a unique `tag` object depending on the data that comes from `ListView`
ImageView existingView = root.findViewWithTag(tag);
if (existingView == null) { // Didn't exist
ImageView newView = new ImageView(getApplicationContext());
newView.setTag(ID);
root.addView(newView);
}