2011-12-16 28 views
1

いくつかの画像を表示するグリッドビューがあります。私はViewFlipperを実装してgridviewsのページを移動しましたが、私の問題は今はonItemClickListenerを使用できないことです。GridViewのx座標とy座標の項目を取得する

代わりにonSingleTapConfirmedを使用しようとしています。

これはMyGestureDetectorクラスである:私は今行う必要がある何

class MyGestureDetector extends SimpleOnGestureListener { 

    private static final int SWIPE_MIN_DISTANCE = 120; 
    private static final int SWIPE_MAX_OFF_PATH = 250; 
    private static final int SWIPE_THRESHOLD_VELOCITY = 200; 

    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
     System.out.println(" in onFling() :: "); 
     if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) 
      return false; 
     if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE 
       && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
      vf.setInAnimation(inFromRightAnimation()); 
      vf.setOutAnimation(outToLeftAnimation()); 
      vf.showNext(); 
     } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE 
       && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
      vf.setInAnimation(inFromLeftAnimation()); 
      vf.setOutAnimation(outToRightAnimation()); 
      vf.showPrevious(); 
     } 
     return super.onFling(e1, e2, velocityX, velocityY); 
    } 

    @Override 
    public boolean onSingleTapConfirmed(MotionEvent e) { 
     // TODO Auto-generated method stub 
     Log.e("Item Click","Item Click"); 

     return super.onSingleTapConfirmed(e); 
    } 

} 

は、GridViewの項目は、x、y座標(e.getXを(使用してクリックされたキャプチャあり)とe.getY() )。

誰かがここで回答しましたhttps://stackoverflow.com/a/6419223/1025506 pointToPositionメソッドを使用するとうまくいくはずですが、その達成方法はわかりません。

ありがとう、ごめんなさい、私の英語です。

答えて

5

私は最終的にonSingleTapConfirmed内のgridview pointtoposition()メソッドを使用してこれを行うことができました。

if (myGridView.pointToPosition((int)e.getX(), (int)e.getY())!=-1) { 
    myItem = myAdapter.getItem(myGridView.pointToPosition((int)e.getX(), (int)e.getY())); 
} 
+0

私のアイドル......私はあなたが大好きです、moahhhh:3 – kemdo

関連する問題