如何在TouchUp事件上获取ViewID

时间:2011-12-01 11:34:09

标签: android android-ui textview

我正在将一个文本视图的拖放实现到其他文本视图。我已经创建了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

1 个答案:

答案 0 :(得分:1)

从逻辑上讲,你不应该期待tv2的事件。因为touchListener将在您触摸该视图后进行侦听,然后重复调用直到发生up事件。

所以在我的理解中,通过以唯一的方式计算x,y坐标来处理tv2触摸