Fragment获取其他View的CheckBox状态一直为False

请教各位大佬,我在某个Fragment里定义了以下代码:

DetailActivity = (DetailActivity) getActivity();
LayoutInflater factorys = LayoutInflater.from(DetailActivity);
View view= factorys.inflate(R.layout.activity_detail, null);
killswitch = (CheckBox) view.findViewById(R.id.killswitch);
inputTv = (EditText) root.findViewById(R.id.inputTv);

并且已经在DetailActivity以及View里定义和监听了这两个CheckBox、EditText

killswitch = (CheckBox) findViewById(R.id.killswitch);
inputTv = (EditText) findViewById(R.id.inputTv);
        killswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                                         boolean isChecked) {
                // TODO Auto-generated method stub
                if(isChecked){
                    inputTv.setText("1");
                    Log.e("kill:", "onCheckedChanged: 选中" );
                }else{
                    inputTv.setText("0");
                    Log.e("kill:", "onCheckedChanged: 未选中");
                }
            }
        });

在DetailActivity中,获取killswitch的状态和inputTv值完全正常

但是在某个Fragment里使用贴出的第一段代码,只可以获取到最初的这两个值,例如我view里默认CheckBox为false、inputTv为1(已试过去掉初始值),然CheckBox动态点击之后,Fragment里的获取inputTv、CheckBox仍然为初始值。
DetailActivity里为最新点击动态的赋值。(Fragment调用是通过其他按钮)

阅读 2k
1 个回答
View view= factorys.inflate(R.layout.activity_detail, null); 

这个 Fragment 的 View 是新创建的跟 Activity 中的都不是同一个对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题