我有2个按钮可以在同一个活动中切换2个布局:单击layout1上的button1,它转到布局2(使用setContentView)。在layout2上,单击button2,它将返回到layout1。然后button1不再响应OnClickListener。我查看了“输入事件”,但仍然无法弄明白。发生了什么以及如何解决它?
提前致谢!
Button submitBtn;
Button backBtn;
submitBtn = (Button)findViewById(R.id.button1); //on layout1
backButn = (Button)findViewById(R.id.button2); //on layout2
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.layout2);
}
});
backBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.layout1);
}
});
答案 0 :(得分:1)
您应该在切换布局时重新分配侦听器,导致在您调用setContentView
时查看旧视图,并创建新组件。
答案 1 :(得分:0)
您必须在更改布局时设置contentview,否则视图将为null。