我正在将一个文本视图的拖放实现到其他文本视图。我已经创建了OnTouchListener并应用于我的两个TextViews
我像这样写了OnTouch函数
public boolean onTouch(View v, MotionEvent e)
{
switch(e.getAction())
{
case MotionEvent.ACTION_DOWN:
Log.d("Down",v.getId()+"");
break;
case MotionEvent.ACTION_MOVE:
Log.d("Move",v.getId()+"");
break;
case MotionEvent.ACTION_UP:
Log.d("Up",v.getId()+"");
break;
}
return false;
}
我在所有三种情况下都遇到问题,它返回我第一次触发触摸事件的TextView的ID。我想获取其他TextView的ID 例如,它只给我一个Down事件ID“tv1”。并再一次在Move Event和Up Event上给我“tv1”(尽管我的位置改为其他TextView,其ID为tv2)
如何获取发生Touch Up事件的TextView的ID
答案 0 :(得分:1)
从逻辑上讲,你不应该期待tv2的事件。因为touchListener将在您触摸该视图后进行侦听,然后重复调用直到发生up事件。
所以在我的理解中,通过以唯一的方式计算x,y坐标来处理tv2触摸