我使用OpenGL生成了地图。现在我添加了功能,每当我触摸地图时它会读取特定点,然后与地图进行比较并返回用户触摸的特定图层。我的功能正常工作我通过调试检查了每个功能。我将计数器放在onTouchEvent上,我发现它正在调用3次而不是1次。
我的onTouch功能代码如下:
public boolean onTouchEvent(MotionEvent e)
{
int NoOfTouch = e.getPointerCount();
if (NoOfTouch==1)
{
int abc=AppFuncs.count_function;
AppFuncs.count_function=abc+1;
float x = e.getX();
float y = e.getY();
PointF f = new PointF(e.getX(),e.getY());
PointF scr_coor=m_Renderer.GetWorldCoords(f);
try {
String lyr=m_Renderer.m_Project.point_clicked(scr_coor.X,scr_coor.Y);
m_previousDistance=-1.0f;
requestRender();
}
catch (Exception ee)
{
ee.printStackTrace();
}
//int layer_id=AppFuncs.g_vertex_index;
// requestRender();
return true;
}
它应该被称为1次,但它的呼叫是3次。