如果我用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值,我使用两个数组,上面的代码修改如下所示
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;
}
每次尝试保存数组时,应用都会崩溃。我的方法有误吗?任何帮助将不胜感激。我是android的新手,请原谅我,如果这是一个愚蠢的怀疑。我需要保存在一个数组中,以便在我的代码中使用很少的计算。什么都行不通!
答案 0 :(得分:2)
您尚未分配数组,因此您将值放在未分配的内存中。
尝试:
int[] xval = new int[pointerCount];