如何在android代码的主要活动中第二次使用setContentView(layout_id)?
My activity_main.xml有两个按钮。我已经实现了onClickListner();为了他们两个 对于MainActivity,->setContentView(R.layout.activity_main) 此活动有两个按钮 按钮1-设置内容视图(R.layout.layout1); 按钮2-设置内容视图(R.layout.layout2) 这是正确的使用方法吗??因为 程序运行良好。问题是,当我点击按钮2时,布局2加载,我现在想回到主活动,所以我按下“后退”按钮。 整个应用程序将关闭。。!!我被带到手机的主屏幕 如何避开这个??我说的是取景器。我没有按钮回来如何在android代码的主要活动中第二次使用setContentView(layout_id)?,android,multiple-views,setcontentview,Android,Multiple Views,Setcontentview,My activity_main.xml有两个按钮。我已经实现了onClickListner();为了他们两个 对于MainActivity,->setContentView(R.layout.activity_main) 此活动有两个按钮 按钮1-设置内容视图(R.layout.layout1); 按钮2-设置内容视图(R.layout.layout2) 这是正确的使用方法吗??因为 程序运行良好。问题是,当我点击按钮2时,布局2加载,我现在想回到主活动,所以我按下“后退”按钮。 整个应用程序
还有别的办法吗??请原谅基本问题和糟糕的英语。您必须在活动中重写onBackPressed()函数,并且再次将contentview设置为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();
}
}
您几乎不应该多次调用
setContentView()
。你所描述的是标准的倒退行为。启动一个新的活动
您要转换到的任何布局,或者切换到使用片段
s,并将一个新的片段
添加到backstack,而不是调用setContentView()
这两种方法都会为“后退”按钮提供本机行为支持。谢谢。。。我如何写if(布局2)??如何查看当前视图是否设置为layout2?