Действия по переключению Android-проблем - PullRequest
0 голосов
/ 09 апреля 2011

В моем приложении у меня есть обычное меню, где я могу выбрать из меню и перейти к другому представлению.Простой ...

private void gotoSettings() 
{
    Intent settingsIntent = new Intent(this, SettingsActivity.class);
    startActivity(settingsIntent);
}

Теперь у меня также есть метод в главном представлении, который обрабатывает броски (пролистывание между представлениями):

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);
            }

Теперь вот что есть.При запуске приложения, если я нахожусь в основном действии и выбираю настройки, оно работает нормально и переходит к действию Настройки.Но если я перейду к операции «Команда», затем вернусь к основной деятельности, затем снова выберу «Настройки», он вызовет тот же метод, который делает это снова:

private void gotoSettings() 
{
    Intent settingsIntent = new Intent(this, SettingsActivity.class);
    startActivity(settingsIntent);
}

Но теперь он автоматически показывает командуактивность вместо активности настроек.Я даже отлаживал и был свидетелем того, как он прошел вышеупомянутый код и сразу после startActivity (settingsIntent);он не переходит к активности «Настройки», он переходит к активности команды.

Это очень и очень странно, так как Я СКАЗЫВАЮ, чтобы перейти в Настройки, но это не так.Должно быть, это как-то связано с броском, но я этого не вижу ....?

1 Ответ

1 голос
/ 09 апреля 2011

Вероятно, вам нужно написать так

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

вместо

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