从main.xml布局切换到另一个布局

时间:2011-05-10 15:41:40

标签: android xml layout switch-statement

我在这里有一个基本的Android问题:

我有一个main.xml布局,在应用程序启动时会加载。这个页面有一个菜单按钮,我想(当点击时)将用户发送到另一个布局(about.xml)。

我怀疑这是对的。单击此命令时会启用:

setContentView(R.layout.about);

它似乎有效,我确实看到了about.xml页面,但是当我点击Android设备上的BACK按钮时,我无法导航回main.xml布局,应用程序才关闭。

我怀疑这是在xml布局文件之间导航的正确方法。你可以帮忙或指点一个网页,为像我这样的计算机程序员初学者解决这个问题吗?

非常感谢,

专利

编辑: 感谢您帮助我找到正确方向的所有答案。为了帮助像我这样的未来的noob程序员了解活动,我在网上找到了一个非常简单的教程,为我们初学者绘制了它!

http://www.warriorpoint.com/blog/2009/05/24/android-how-to-switch-between-activities/

4 个答案:

答案 0 :(得分:7)

您的约会页面是否有单独的活动?通常,每个屏幕都会创建一个新活动。当您转到新屏幕时,新活动将堆叠在第一个屏幕活动上。当您在Android设备上单击“上一步”时,将弹出上一个活动。

答案 1 :(得分:1)

您要做的是为每个不同的屏幕创建一个新的Activity。您将每个新Activity创建为一个新类,并使用Intents在它们之间移动。这样,每个Activity只会使用setContentView();一次。 Android website充满了很多资源。

答案 2 :(得分:1)

您的主要活动将内容视图设置为main.xml,并且您有另一个about.xml应该设置为另一个活动,以便您可以使用Intents从一个活动移动到另一个活动。我建议你通过开发者的网站,在那里你可以找到活动和意图的使用。

答案 3 :(得分:-2)

在这样的布局之间切换时,您需要管理后退按钮的行为

这是在您的活动主类

中使用的伪代码示例
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if((keyCode == KeyEvent.KEYCODE_BACK) && (secondary_layout_is_displayed))
    {
        displayPrimaryLayout();
        // return true to let the system know we consumed the back button press
        return true;
    }

    // return the default value
    return super.onKeyDown(keyCode, event);
}