Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 理解多点触控语句-指针ID/索引_Java_Android - Fatal编程技术网

Java 理解多点触控语句-指针ID/索引

Java 理解多点触控语句-指针ID/索引,java,android,Java,Android,这是获取y并在文本视图中打印的代码片段。 但有些事情对我来说毫无意义。。。 在这行代码中 y[gID]=(int)event.getY(gIndex) 通过这个,我将gIndex的y值赋值给y[以id的形式] 但是我如何知道我引用的是同一个“手指”gIndex可以在任何时候移动它的值,或者系统刚刚知道我根据Id将它移动到gIndex的已知y位置,这就是全部…首先,您使用的是一些旧代码。最好不要遮罩自己,使用揭罩功能 int action = (event.getAction() &

这是获取y并在文本视图中打印的代码片段。 但有些事情对我来说毫无意义。。。 在这行代码中

y[gID]=(int)event.getY(gIndex)

通过这个,我将gIndex的y值赋值给y[以id的形式]
但是我如何知道我引用的是同一个“手指”gIndex可以在任何时候移动它的值,或者系统刚刚知道我根据Id将它移动到gIndex的已知y位置,这就是全部…

首先,您使用的是一些旧代码。最好不要遮罩自己,使用揭罩功能

    int action = (event.getAction() & MotionEvent.ACTION_MASK);
    int gIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK)>>
                                        MotionEvent.ACTION_POINTER_INDEX_SHIFT;
    int gID = event.getPointerId(gIndex);
        switch (action){
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_POINTER_DOWN:    
                y[gID]=(int)event.getY(gIndex);
                break;
第二,如果您想获得给定指针id的y,您可以使用

action = event.getActionMasked();
gIndex = event.getActionIndex();
y = event.getY(event.findPointerId(pointerid));