-1

我的 activity_main.xml 有 2 个按钮。我已经实现了 onClickListner(); 对于他们俩。

对于 MainActivity,-> setContentView(R.layout.activity_main) 这个 activity_main 有 2 个按钮。

Button1 - setContentView(R.layout.layout1); Button2 - setContentView (R.layout.layout2);

这是正确的使用方法吗??因为..

程序运行良好。问题是当我单击 Button2 时,layout2 加载,我现在想回到 main_activity,所以我按下“返回”按钮。整个应用程序关闭..!! 我被带到手机的主屏幕。

如何解决这个问题?我说 ViewSwitcher。我没有返回的按钮。

还有什么办法??请原谅基本的问题和糟糕的英语。

4

2 回答 2

1

你必须在你的活动中覆盖 onBackPressed() 函数,你必须再次将内容视图设置为 activity_main.xml 并从 onBackPressed 中删除 super.onBackPressed。

像这样的东西:

@Override
public void onBackPressed() {
    //validation if you are in second layout
    if(layout2){
       //do things
        showLayout1();
    }else{
       super.onBackPressed();
    }
}
于 2015-01-19T18:00:36.353 回答
0

你几乎不应该多次打电话setContentView()。您所描述的是标准的后台行为。无论您要过渡到什么布局,都可以开始一个 的布局,或者切换到使用s,然后在后台堆栈中添加一个新的,而不是调用.ActivityFragmentFragmentsetContentView()

这两种方法都将为您提供对后退按钮的本机行为支持。

于 2015-01-19T18:07:41.320 回答