2012-01-29 56 views
1

我有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

你能粘贴你的代码吗 – Mercy 2012-01-29 07:12:41

回答

1

当您切换布局时,您应该重新分配监听器,因为您在调用setContentView旧视图被销毁,并且创建了新组件。

+0

就是这样,太棒了! – 2012-01-29 16:08:47

0

当您需要更改布局时,您必须设置contentview,否则视图将为空。

相关问题