我将OnTouchListener
设置为ImageView
,然后在ImageView
上复制相同的MotionEvent.ACTION_DOWN
,如下所示
if (me.getAction() == MotionEvent.ACTION_DOWN) {
i++;
image = new ImageView(this);
image.setImageBitmap(btn.getDrawingCache());
image.setId(i);
//image.setOnTouchListener(dragit);
layout.addView(image, i, params);
}
对于ACTION_MOVE和ACTION_UP也是如此。
现在生成新视图后,我尝试为其设置一个OnTouchListener image.setOnTouchListener(dragit);
但问题是我可以创建1000个这样的ImageViews
,我怎样才能最终识别它们?我为每个imageview设置了一个id但是如何引用它?
答案 0 :(得分:1)
将imageViews添加到数组或列表中,然后在onTouch事件中将视图与列表中的视图进行比较
答案 1 :(得分:1)
layout.getChildAt(Y ++)。的getId()
答案 2 :(得分:1)
在您的onClickListener 中,您必须使用查看v作为参数,您可以了解它是哪个视图,例如
public void onClick(View v) {
int id = v.getId(); // id that you have set
}