我已經擴展了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