2

在我的第一个活动中,向左或向右触摸会打开第二个活动的值计算 X 和 Y 该活动是根据条件打开的。这是代码的一部分

case MotionEvent.ACTION_MOVE:

    if (v.getId() == R.id.layout3) {

        float currentX = event.getX();
        float currentY = event.getY();

        if ((currentX > 160.0) && (currentY > 5.0) && (currentY < 55.0) &&(downXValue < 146.0)){       
            startActivity(i); 
        }
    }
    break;

所以这里一切顺利。问题是活动打开重复叠加在彼此之上如果我想回到第一个活动,你应该按下按钮五次以上这意味着第二个活动打开了五次以上。我是安卓新手。我想知道问题出在哪里,正确的方法是什么,错误在哪里。谢谢

4

1 回答 1

2

您可以添加一个标志来检查活动是否已经开始:

private activityStarted = false;

if (!activityStarted && (currentX > 160.0) && (currentY > 5.0) && (currentY < 55.0) && (downXValue < 146.0)){   
    activityStarted = true;    
    startActivity(i); 
}
于 2017-09-05T15:07:07.783 回答