Навигация по Android Up и кнопка на панели действий

У меня есть панель действий, которая выглядит так:

Панель действий

Я использую следующее, чтобы увидеть, какая кнопка нажата:

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    switch (item.getItemId())
    {
            case R.id.view_all_trains:
                Intent i = new Intent(ToStationActivity.this, MapActivity.class);
                startActivityForResult(i, 0);
            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);

    }
    return true;
}

Независимо от того, какую кнопку вы нажимаете (заднюю или контактную), она возвращается к предыдущему экрану, и я не уверен, почему. Любые предложения относительно того, почему это может произойти?

2 ответа

Решение

Положить break заявление в конце каждого случая переключения!

Вы должны закончить дело в конце, используя break;иначе поток управления продолжается в следующем случае.

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    switch (item.getItemId())
    {
        case R.id.view_all_trains:
            Intent i = new Intent(ToStationActivity.this, MapActivity.class);
            startActivityForResult(i, 0);
            break;
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);

    }
    return true;
}
Другие вопросы по тегам