0

5 本の指先でデバイスに触れると、アプリケーションはタッチ ポイントの周りに円を描きます。ここで、左手と右手を認識するために、各イベントでの x、y の値が必要です。

私が使用することを得るために

int pointerCount = event.getPointerCount();

for (int i = 0; i < pointerCount; i++)
{
            int id = event.getPointerId(i);
            int x = (int) event.getX(i);
            int y = (int) event.getY(i);
}

x と y の値を保存するために、2 つの配列を使用し、上記のコードを次のように変更します。

private int[] xval,yval; 

 for (int i = 0; i < pointerCount; i++)
    {
            int id = event.getPointerId(i);
            int x = (int) event.getX(i);
            int y = (int) event.getY(i);
            xval[i] = x;
            yval[i] = y;

    }

配列に保存しようとするたびにアプリがクラッシュします。私のアプローチは間違っていますか?どんな助けでも大歓迎です。私はアンドロイドが初めてなので、ばかげた疑問でしたらすみません。コードで使用されるいくつかの計算のために、配列に保存する必要があります。何も機能しません!

4

1 に答える 1

2

配列を割り当てていないため、未割り当てのメモリに値を配置しています。

試す:

int[] xval = new int[pointerCount];
于 2013-01-08T16:25:01.920 に答える