以触摸方式打开一个activityandroid
Open an activity in a touch way android
在我的第一个 activity 中,向左或向右触摸会打开第二个 activity
的值计算 X 和 Y 的 activity 是根据条件开的。这是代码的一部分
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;
所以这里一切顺利。
问题是 activity 打开重复累积在彼此之上
如果我想回到第一个activity,你应该按五次以上的按钮
这意味着第二个 activity 打开了五次以上。
我是 Android 的新人。我想知道问题出在哪里,正确的方法是什么,错误在哪里。谢谢
您可以添加一个标志来检查 activity 是否已经启动:
private activityStarted = false;
if (!activityStarted && (currentX > 160.0) && (currentY > 5.0) && (currentY < 55.0) && (downXValue < 146.0)){
activityStarted = true;
startActivity(i);
}
在我的第一个 activity 中,向左或向右触摸会打开第二个 activity 的值计算 X 和 Y 的 activity 是根据条件开的。这是代码的一部分
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;
所以这里一切顺利。 问题是 activity 打开重复累积在彼此之上 如果我想回到第一个activity,你应该按五次以上的按钮 这意味着第二个 activity 打开了五次以上。 我是 Android 的新人。我想知道问题出在哪里,正确的方法是什么,错误在哪里。谢谢
您可以添加一个标志来检查 activity 是否已经启动:
private activityStarted = false;
if (!activityStarted && (currentX > 160.0) && (currentY > 5.0) && (currentY < 55.0) && (downXValue < 146.0)){
activityStarted = true;
startActivity(i);
}