Android 为动态生成的ImageView设置OnTouchListeners

Android 为动态生成的ImageView设置OnTouchListeners,android,android-layout,android-imageview,android-view,Android,Android Layout,Android Imageview,Android View,我正在将一个OnTouchListener设置为ImageView,然后在MotionEvent上复制相同的ImageView if (me.getAction() == MotionEvent.ACTION_DOWN) { i++; image = new ImageView(this); image.setImageBitmap(btn.getDrawingCache()); image.setId(i)

我正在将一个
OnTouchListener
设置为
ImageView
,然后在
MotionEvent上复制相同的
ImageView

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);
} 
动作(MOVE)和动作(UP)也是如此

现在,在生成新视图之后,我尝试将该视图的OnTouchListener设置为
image.setOnTouchListener(dragit)


但问题是我可以创建1000个这样的
图像视图
,我如何才能唯一地识别它们?我已经为每个imageview设置了一个id,但是我如何引用它呢?

将imageview添加到数组或列表中,然后在onTouch事件中将视图与列表中的视图进行比较

将imageview添加到数组或列表中,然后在onTouch事件中将视图与列表中的视图进行比较

布局.getChildAt(y++).getId()

你的onClickListener中,你必须获得视图v作为参数,这样你才能知道它是哪个视图,如下所示

public void onClick(View v) {
    int id = v.getId(); // id that you have set 
}

你的onClickListener中,你必须得到视图v作为参数,这样你就可以知道它是哪个视图,如下所示

public void onClick(View v) {
    int id = v.getId(); // id that you have set 
}