作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现将一个 TextView 拖放到另一个 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例如,它只是给我关闭事件“tv1”的 ID。再次在 Move 事件和 Up 事件上给我“tv1”(尽管我的位置已更改为 ID 为 tv2 的其他 TextView)
如何获取发生 Touch Up 事件的 TextView 的 ID
最佳答案
从逻辑上讲,您不应该期待 tv2 的 up 事件。因为 touchListener 会在您触摸该 View 后进行监听,然后重复调用直到发生事件。
所以在我的理解中,通过计算 x,y 坐标来处理 tv2 触摸是唯一的方式
关于android - 如何在 TouchUp 事件中获取 ViewID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8340699/
我是一名优秀的程序员,十分优秀!