在我的应用程序的不同布局之间导航

时间:2011-12-21 13:13:34

标签: java android

我的应用程序有4个不同的屏幕,我正在尝试设置一个类似标签的结构,只使用按钮。 为简单起见,我将其称为A,B,C,D。

现在在每个Activity的onCreate方法中,我有3个按钮Button监听器(在Activity A中,我有按钮B,C,D的监听器),当按下相应的按钮时触发startActivity。

当我从说A-> B导航然后尝试使用按钮返回B-> A时,问题就出现了,我的应用程序崩溃了。我相信这是因为A在后台暂停,并且尝试启动它的新实例会导致程序崩溃。

所以我想知道是否有办法在没有创建新实例的情况下恢复活动A. 我期待有某种resumeActivity()方法,但它似乎不存在。

感谢您的帮助。

5 个答案:

答案 0 :(得分:0)

试试这个:

public void onResume() {
    super.onResume();
    // do your stuff here
}

答案 1 :(得分:0)

你有很多方法可以做到这一点。

1)将您的活动A的 LaunchMode 设置为SingleInstance

2)不要用Intent调用Activity A,只需完成B,它会自动显示A。

3)参见 this answer ,只创建一个基类并将其扩展到A到D的其他位置,并在基类中单击所有按钮。(简化代码)

4)如果活动A必要Override onResume()

答案 2 :(得分:0)

如果您不想自己制作整个功能,也可以使用TabHost 这是一个教程:http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

答案 3 :(得分:0)

使用TabActivity
然后,如果您不想使用选项卡的默认实现,那么我认为您将从xml中删除<TabWidget>并使用TabHost.setCurrentTab更改您所在的活动。

答案 4 :(得分:0)

您应该考虑使用Fragments。让A,B,C和D各为Fragment,然后只有一个Activity,只处理Fragments之间的导航。