5

6つのボタンを備えたGridViewがあり、ユーザーが特定のボタンの端に到達したときに振動するために、ユーザーが現在指で使用しているボタンを検出する必要があります。GridViewのボタンのレイヤーでそれを行うことは可能ですか、それともグリッドビューに実装して各ボタンのエッジの座標をカウントする方が良いですか?

4

1 に答える 1

-1

独自の OnTouchListener を定義して、ビューが受信したイベントを GridView でキャプチャできます。このようなもの:

View.OnTouchListener listener = new View.OnTouchListener {
    public void onTouch ( View v, MotionEvent event ) {
        /** Check the event and the View here */
        return false; // Return false, so the system will behave as always
    }
}

public View getView ( int position, View v, ViewGroup vg ) {
    /** Create your View here */
    v.setOnTouchListener ( listener );

    /**
      Maybe you could need this too
      vg.setOnTouchListener ( listener ); 
    */
    return v;
}
于 2013-07-16T08:32:34.307 に答える