0

在我的应用程序中,我有一个普通菜单,我可以从菜单中选择并转到不同的视图。简单的...

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有关,但我没看到……?

4

1 回答 1

1

可能你需要这样写

Intent intent = new Intent(MainActivity.this, CommandActivity.class);

代替

Intent intent = new Intent(MainActivity.this.getBaseContext(), CommandActivity.class);
于 2011-04-09T18:29:47.423 回答