package com.roiding.rterm;
import java.lang.reflect.Field;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Gallery;
import android.widget.SpinnerAdapter;
class ButtonGallery extends Gallery {
public ButtonGallery(Context context) {
super(context);
}
public ButtonGallery(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
System.out.println("onSingleTapUp...");
Field f;
try {
f = Gallery.class.getDeclaredField("mDownTouchView");
f.setAccessible(true);
View mDownTouchView = (View) f.get(this);
f = Gallery.class.getDeclaredField("mDownTouchPosition");
f.setAccessible(true);
int mDownTouchPosition = (Integer) f.get(this);
f = Gallery.class
.getDeclaredField("mShouldCallbackOnUnselectedItemClick");
f.setAccessible(true);
boolean mShouldCallbackOnUnselectedItemClick = (Boolean) f
.get(this);
int mSelectedPosition = computeHorizontalScrollOffset();
SpinnerAdapter mAdapter = super.getAdapter();
if (mDownTouchPosition >= 0) {
if (mShouldCallbackOnUnselectedItemClick
|| mDownTouchPosition == mSelectedPosition) {
performItemClick(mDownTouchView, mDownTouchPosition,
mAdapter.getItemId(mDownTouchPosition));
}
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return false;
}
// public void onShowPress(MotionEvent e) {
// System.out.println("onShowPress...");
// }
// void onUp() {
// System.out.println("onUp...");
// // for (int i = getChildCount() - 1; i >= 0; i--) {
// // getChildAt(i).setPressed(false);
// // }
// //
// // setPressed(false);
// }
}