在我的应用程序中,我有一个普通菜单,我可以从菜单中选择并转到不同的视图。简单的...
private void gotoSettings()
{
Intent settingsIntent = new Intent(this, SettingsActivity.class);
startActivity(settingsIntent);
}
现在我在主视图中也有一个方法来处理 flings(在视图之间滑动):
Intent intent = new Intent(MainActivity.this.getBaseContext(), CommandActivity.class);
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// left to right swipe
if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY)
{
startActivity(intent);
MainActivity.this.overridePendingTransition(R.anim.slideinleft, R.anim.slideoutright);
}
现在事情就是这样。在应用程序启动时,如果我在主要活动中并选择设置,它工作正常并转到设置活动。但是,如果我跳到 Command 活动,然后跳回主活动,然后再次选择设置,它将再次调用相同的方法:
private void gotoSettings()
{
Intent settingsIntent = new Intent(this, SettingsActivity.class);
startActivity(settingsIntent);
}
但现在它会自动显示 Command 活动而不是 Settings 活动。我什至调试并见证了它通过上面的代码和 startActivity(settingsIntent); 之后。它不会进入设置活动,而是进入命令活动。
这很奇怪,因为我告诉它去设置,但事实并非如此。一定和fling有关,但我没看到……?