我有ViewGroup类型的父(Container)视图,在运行时我添加了未知数量的子视图。
在运行时我想检测哪个子视图接收了触发事件&哪个子视图收到了修饰事件(如果我按下子视图并移动到我离开手指的另一个视图)。
在下面的代码中,当我按下儿童视图&移动 - 不释放我的手指 - 到另一个子视图并离开我的手指,我得到了我按下的相同视图(我无法检测到第二个子视图)。
childView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event)
{
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
Toast.makeText(getBaseContext(), v.toString(), Toast.LENGTH_SHORT).show();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
Toast.makeText(getBaseContext(), v.toString(), Toast.LENGTH_SHORT).show();
}
else if (event.getAction() == MotionEvent.ACTION_MOVE)
{
}
return false;
}
});
其他信息:
我在Android 4.1.2(API 16及转发版)上使用我的代码。
我也在听Click活动。