0

我希望在我的应用程序中创建一个单独的页面(布局和子活动),您可以通过单击菜单按钮访问该页面。我希望它以当您再次单击菜单按钮时返回 MainActivity 和 activity_mail.xml 布局的方式切换。

我用这段代码取得了一定程度的成功:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    setContentView(R.layout.settings);



    return true;
}

这成功切换到 settings.xml 布局。但是,当再次按下菜单按钮时,如何返回到 activity_main.xml 布局?

4

1 回答 1

1

然而,这不是optionsMenu创建的目的。有很多可能的方法可以做到这一点。一种可能的方法是创建一个布尔字段变量。

private boolean isInMailLayout = true;
[...]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    if(isInMainLayout){
        setContentView(R.layout.settings);
        isInMailLayout = false;
    }
    else {
        setContentView(activity_mail.xml);
        isInMailLayout = true;

    }

    return true;
}

的目的optionsMenu

optionsMenu 应该在溢出下拉列表(如果您使用 ActionBar)或手机底部的网格(如果您不使用 ActionBar)中显示菜单。

另一方面,您不想显示菜单,而是更改布局。您可能想为此启动一个新活动。

于 2013-04-24T23:18:46.330 回答