【问题标题】:How to get ViewID on TouchUp Event如何在 TouchUp 事件中获取 ViewID
【发布时间】:2011-12-01 19:53:36
【问题描述】:

我正在将一个文本视图拖放到另一个文本视图。我已经创建了 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。我想获取其他 TextViews 的 ID 例如,它只给我 Down 事件“tv1”的 ID。在 Move 事件和 Up 事件中再次给我“tv1”(尽管我的位置已更改为 ID 为 tv2 的其他 TextView)

如何获取发生 Touch Up 事件的 TextView 的 ID

【问题讨论】:

    标签: android android-ui textview


    【解决方案1】:

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

    所以在我的理解中,只能通过计算 x,y 坐标来处理 tv2 触摸

    【讨论】:

      猜你喜欢
      • 2012-10-23
      • 1970-01-01
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多