想要制作一个以 main 布局开始的 Android 应用程序,当您按下此布局中的按钮(称为 stateButton)时,布局会更改为 < em>main2 布局包含另一个按钮(称为 boton2),当你按下这个按钮时,你会回到第一个主按钮。
我想在同一个 Activity 中执行此操作,而不创建或启动另一个 Activity 。
这里我给你展示部分代码:
public class NuevoshActivity extends Activity
implements SensorEventListener, OnClickListener {
private Button stateButton;
private Button boton2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.stateButton = (Button) this.findViewById(R.id.boton);
this.boton2 = (Button) this.findViewById(R.id.boton2);
stateButton.setOnClickListener(this);
boton2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v==stateButton) {
setContentView(R.layout.main2);
}
else if(v==boton2) {
setContentView(R.layout.main);
}
}
}
主界面只有一些图像、 TextView 和按钮。
但是我遇到了一些麻烦。难道不能就这么简单吗?或者我错过了什么或出了什么问题?
最佳答案
当您使用 findViewById 时,您实际上是在尝试在 setContentView 指定的布局中查找 View 。因此,当您尝试检查按钮时,一次又一次地使用 setContentView 可能会带来问题。
我不使用 setContentView,而是将屏幕的 2 种布局添加为一次只显示一个子项的 View 翻转器的子布局。您可以指定要显示的子项的索引。使用 View 翻转器的好处是,如果在 View 之间切换时需要动画,您可以轻松地为 View 指定“进入”和“离开”动画。这是一种比一次又一次调用 setContentView 更简洁的方法。
关于android - 从一种布局 View 更改为另一种布局 View 并返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477991/