在不同的布局按钮状态在一个活动? [英] Button state across different layouts in one activity?

查看:157
本文介绍了在不同的布局按钮状态在一个活动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个按钮在同一活动2的布局之间进行切换:点击Button1的布局1,这是不言而喻2(使用的setContentView)布局。在布局2,点击按钮2,它可以追溯到布局1。然后BUTTON1不再响应OnClickListener。我看着输入事件但还是没能弄明白。发生了什么,以及如何解决它?

在此先感谢!

 按钮submitBtn;
按钮backBtn;
submitBtn =(按钮)findViewById(R.id.button1); //在布局1
backButn =(按钮)findViewById(R.id.button2); //在布局2
submitBtn.setOnClickListener(新View.OnClickListener(){        @覆盖
        公共无效的onClick(视图v){
          的setContentView(R.layout.layout2);
                    }
    });
backBtn.setOnClickListener(新View.OnClickListener(){        @覆盖
        公共无效的onClick(视图v){
          的setContentView(R.layout.layout1);
                   }
    });


解决方案

您应该在切换布局时,要呼叫的setContentView 旧观点重新分配听众,原因被破坏,并创建新的组件。

I have 2 buttons to switch between 2 layouts in the same activity: clicking button1 on layout1, it goes to layout 2 (using setContentView). On layout2, clicking button2, it goes back to layout1. Then button1 is no longer responding OnClickListener. I looked into "Input Events" but still couldn't figure it out. What happened and how to fix it?

Thanks in advance!

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);
                   }
    });

解决方案

You should re-assign listeners when you switch layout, cause when you're calling setContentView old view is destroyed, and new components are created.

这篇关于在不同的布局按钮状态在一个活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆