ざっくりクラスの骨格です。
package <パッケージ名>; import java.util.Vector; import android.graphics.PointF; // タッチ監視人 public class TouchWatcher { // アクション public enum ACTION { ACTION_DOWN, ACTION_UP, ACTION_MOVE, } // コンストラクタ public TouchWatcher() { m_ActionVec = new Vector< ActionInfo >( MAX_ACTION_INFO_NUM ); m_DeleteNum = 0; } // アクション情報 private class ActionInfo { // コンストラクタ public ActionInfo( ACTION action, PointF pos ) { m_Action = action; m_Pos = pos; } // 各種取得 public ACTION GetAction() { return m_Action; } public PointF GetPos() { return m_Pos; } private ACTION m_Action; private PointF m_Pos; } private static int MAX_ACTION_INFO_NUM = 32; private Vector< ActionInfo > m_ActionVec; private int m_DeleteNum; }
enumでアクションの種類を定義しています。
このクラスにアクションを設定するときはこのenumを渡します。
インナークラスとしてActionInfoクラスを作っておきます。
これをベクタで持って管理します。
次は必要なメソッドを揃えましょう!