Android 如何在同一活动中更改xml

Android 如何在同一活动中更改xml,android,android-layout,android-activity,Android,Android Layout,Android Activity,我试图在同一个活动中更改xml布局(差异主要是内部组件的分布)。实际上是一个基调(布局的背景),在每个xml中有不同的结构(元素的分布)(带有linearlayouts)。这个想法是在屏幕上有一个按钮,允许我更改格式(切换到另一个xml)。 另外,当用户点击一个玩家时,我想去一个不同的活动,但我认为这是一个不同的历史 你知道如何切换到不同的xml布局吗 谢谢 要切换布局(xml文件),可以使用以下代码行: setContentView(R.layout.layoutiwanttoswitchto

我试图在同一个活动中更改xml布局(差异主要是内部组件的分布)。实际上是一个基调(布局的背景),在每个xml中有不同的结构(元素的分布)(带有linearlayouts)。这个想法是在屏幕上有一个按钮,允许我更改格式(切换到另一个xml)。 另外,当用户点击一个玩家时,我想去一个不同的活动,但我认为这是一个不同的历史

你知道如何切换到不同的xml布局吗

谢谢

要切换布局(xml文件),可以使用以下代码行:

setContentView(R.layout.layoutiwanttoswitchto);
不过,您应该看看片段,也许这更符合您的需要

要启动新活动,请执行以下操作:

Intent i = new Intent(getApplicationContext(), ActivityYouWantToStart.class);
startActivity(i);

使用thread类并为xml布局和按钮事件使用意图设置时间限制,我认为这会起作用。

您可以做的只是将主布局作为线性布局。将ContentView设置为该布局。为要在单击按钮时显示的布局创建不同的xml。点击按钮,根据LayoutInflater的条件,相应地对布局进行充气,并将其添加到主线性布局中

例如

 onCreate{
   setcontentView(R.layout.main);
   LinearLayout linear= findViewbyId(R.id.mainLinear)
 }
 OnFirstButtonClick(){
   LayoutInflater inflater = LayoutInflater.from(context)
   View v = inflater.inflate(R.layout.first);
   linear.removeAllViews();
   linear.addView(v);

}

尝试使用新的XML调用
setContentView()
。在每个按钮上调用setContentView(),然后单击并传递您选择的布局。嗨,Marko,谢谢您的回答,但我认为这不是最好的选择,正如我在其他地方读到的,不建议经常使用setContentView。任何与Fragment教程的链接,以及在哪里解释如何应用我所要求的内容?我不理解你的答案,我想根据用户的决定(当用户选择不同的队形时)而不是时间限制来更改布局。这是一件事,另一件事是,实际上我问的是如何做,不是什么时候。