2016-10-27 9 views
2

通常はアンドロイドでは、ビューへの参照を取得し、クリックリスナーで設定してから関数を実行します。 私がしたいことは、メソッドにパラメータとして渡され、渡されたジェスチャに基づいて関数をトリガする多くのジェスチャ(タッチ時、ロングタッチ時など)があることです。このようなAndroidでの動的イベント処理

何か:

public void doSomething(Event event, View view){ 

...do something 

//if its onClick event that passed do something will trigger once user clicks it 
//if its onLongClick event, the method will trigger for the onLongTap event 

} 

私はこれを達成するためには考えています。どんな助けもありがとう。あなたはこのようなものがありますonTouchを実装することができます

答えて

0

:):私はGesture Detectionに関するドキュメントを読むことをお勧め

public class YourView extends View implements View.OnTouchListener { 

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    //Here you can check for which movement is being made on a switch pattern. 
    //You can also call any gesture detector you might have 

     mScaleDetector.onTouchEvent(event); 
     mRotationDetector.onTouchEvent(event); 
     mGestureDetector.onTouchEvent(event); 

     final int action = MotionEventCompat.getActionMasked(ev); 
     switch (action) { 
     case MotionEvent.ACTION_DOWN: 
     //Do stuff; 
     break; 
     case MotionEvent.ACTION_MOVE: 
     //Do stuff; 
     break; 
     case MotionEvent.ACTION_UP: 
     //Do stuff; 
     break; 
    return false; 
    } 
} 

を、彼らはあなたにこれをアプローチする方法についていくつかの例を与えます。