6

アイテムを1回タップするとインテントが呼び出されて別のアクティビティに移動し、アイテムを長押しまたはダブルタップすると、テキストを編集できるなど、別のことができる機能を開発しようとしています。

これまでのところ、両方を同時に発生させることはできますが、個別にはできません。誰にもアイデアはありますか?

public boolean onTouchEvent(MotionEvent e) {
    return gestureScanner.onTouchEvent(e);
}


public boolean onSingleTapConfirmed(MotionEvent e) { 
    Intent i = new Intent(getContext(), SecondClass.class);
    getContext().startActivity(i);

    return true; 
}

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; }
public void onLongPress(MotionEvent e) {
    Toast.makeText(getContext(), "Edit feature here", Toast.LENGTH_SHORT).show();

}
4

2 に答える 2

7

私は問題を解決することができました。ハンドラーで戻り値を から に変更するだけfalseで済みtrueました。onDown()

public boolean onTouchEvent(MotionEvent e) {
    return gestureScanner.onTouchEvent(e);
}

public boolean onSingleTapConfirmed(MotionEvent e) { 

    Intent i = new Intent(getContext(), SecondClass.class);
    getContext().startActivity(i);

    return true; 
}

public boolean onDown(MotionEvent e) { return true; }


public void onLongPress(MotionEvent e) {
    Toast.makeText(getContext(), "Edit Feature", Toast.LENGTH_SHORT).show();

}
于 2012-11-10T17:55:33.933 に答える
5

GestureDetector を使用します。SimpleOnGestureListeneronSingleTapConfirmed()には、 、onLongPress()、およびで必要なメソッドがありますonDoubleTap()

于 2012-11-10T17:29:11.027 に答える