0

我有一个如下所示的操作栏:

操作栏

我正在使用以下内容查看单击了哪个按钮:

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

无论您按什么按钮(后退或大头针),它都会返回上一个屏幕,我不知道为什么。关于为什么会发生这种情况的任何建议?

4

2 回答 2

1

break在 switch 的每个 case 的末尾添加一个语句!

于 2014-03-04T13:51:14.253 回答
1

您需要在最后使用 完成案例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;
}
于 2014-03-04T13:52:22.507 回答