@Override public boolean onSingleTapUp(MotionEvent e) { Log.i(TAG, "onSingleTapUp----------------------"); try { Field f = AlignLeftGallery.class.getSuperclass().getDeclaredField("mDownTouchPosition"); f.setAccessible(true); int position = f.getInt(this); Log.i(TAG, "mDownTouchPosition = " + position); if (null != mListener && position >= 0) { mListener.onItemClick(position); } } catch (SecurityException e1) { e1.printStackTrace(); } catch (NoSuchFieldException e1) { e1.printStackTrace(); } catch (IllegalArgumentException e2) { e2.printStackTrace(); } catch (IllegalAccessException e3) { e3.printStackTrace(); } return false; }
@Override public void onItemClick(AdapterView<?> parent, final View view, final int position, long id) { if (mDoubleClick && mDoubleClickItemIndex == position) { mDoubleClick = false; mIOnItemClickListener.onItemDoubleClick(view, position); } else { mDoubleClick = true; mDoubleClickItemIndex = position; } new Handler() .postDelayed( new Runnable() { @Override public void run() { if (mDoubleClick) { mDoubleClick = false; mDoubleClickItemIndex = -1; mIOnItemClickListener.onItemClick(view, position); } } }, 500); }