Java tutorial
//package com.java2s; /** * * Copyright 2008 - 2010 * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * * @project loonframework * @author chenpeng * @email ceponline@yahoo.com.cn * @version 0.1.0 */ import java.lang.reflect.Method; import android.view.MotionEvent; public class Main { private static Method motionEvent_GetX; private static Method motionEvent_GetY; private static boolean isMultitouch; public static float getX(MotionEvent e, int pointerIndex) { if (!isMultitouch) { return e.getY(); } try { float pointerCount = (Float) motionEvent_GetX.invoke(e, new Object[] { pointerIndex }); return pointerCount; } catch (Exception ex) { throw new RuntimeException("Reflected multitouch method failed!", ex); } } public static float getY(MotionEvent e, int pointerIndex) { if (!isMultitouch) { return e.getY(); } try { float pointerCount = (Float) motionEvent_GetY.invoke(e, new Object[] { pointerIndex }); return pointerCount; } catch (Exception ex) { throw new RuntimeException("Reflected multitouch method failed!", ex); } } }