我已经扩展了android视图类,现在我想在视图中定义一个方法,当视图是longClicked时启动。扩展视图和使用onLongclick
我已经有使用public boolean onTouchEvent(MotionEvent event)
的motionevents的操作。此方法不允许长时间点击进行操作。
我想在扩展视图类本身。我知道我可以将OnLongClickListener添加到活动中的视图中,但是我想知道是否有方法在View中实现它。
public class ArchitectureView extends GraphView implements OnLongClickListener {
public ArchitectureView(Context context) {
super(context);
this.setOnLongClickListener(this);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_CANCEL:
break;
}
return true;
}
@Override
public boolean onLongClick(View v) {
Log.e("I've been", "longclicked");
return false;
}
}
GraphView从View延长,还会覆盖的onTouchEvent和卡列斯超级
我已经关于测量时间,但由于android有一个内置的onLongClickListener我很容易用它来实现它。我已经添加了我的onTouchEvent()方法,删除了不相关的代码,但我认为它不会有所帮助。 – 2012-02-11 14:44:55
经过深思后,我认为你是对的,看我的编辑。 – FoamyGuy 2012-02-11 17:28:50
我试过你的方法,但是当我长时间点击视图时没有任何反应。只有一件事我可以想到,可以防止它触发,这是onTouchEvent,这是在启动帖子中重写。 – 2012-02-11 17:58:27