アンドロイドのViewクラスを拡張しました。ビューをlongClickedにしたときに起動するビューでメソッドを定義します。ビューを拡張してonLongclickを使用する
私はすでにpublic boolean onTouchEvent(MotionEvent event)
を使ってモーションイベントのアクションを持っています。この方法では、長いクリックで対処することはできません。
私は拡張Viewクラス自体でそれをやりたいです。 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はあなたのonTouchEvent()メソッドを投稿することができますビューから延長してもonTouchEventとcallesスーパー
私は時間を測定するのは難しいですが、アンドロイドにはonLongClickListenerが組み込まれているので、簡単にそれを実現することができました。私は、onTouchEvent()メソッドを追加しました。無関係なコードは削除されましたが、何か助けになるとは思いません。 –
もっと熟考した後、私はあなたが正しいと思う、私の編集を参照してください。 – FoamyGuy
私はあなたの方法を試しましたが、私は長い間、ビューをクリックしても何も起こりません。トリガリングを防ぐことができると思うことが1つだけあり、それは最初の投稿にあるオーバーライドされたonTouchEventです。 –