在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  Android/ Fragment獲取其他View的CheckBox狀態(tài)一直為False

Fragment獲取其他View的CheckBox狀態(tài)一直為False

請(qǐng)教各位大佬,我在某個(gè)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);

并且已經(jīng)在DetailActivity以及View里定義和監(jiān)聽(tīng)了這兩個(gè)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的狀態(tài)和inputTv值完全正常

但是在某個(gè)Fragment里使用貼出的第一段代碼,只可以獲取到最初的這兩個(gè)值,例如我view里默認(rèn)CheckBox為false、inputTv為1(已試過(guò)去掉初始值),然CheckBox動(dòng)態(tài)點(diǎn)擊之后,F(xiàn)ragment里的獲取inputTv、CheckBox仍然為初始值。
DetailActivity里為最新點(diǎn)擊動(dòng)態(tài)的賦值。(Fragment調(diào)用是通過(guò)其他按鈕)

回答
編輯回答
局外人
View view= factorys.inflate(R.layout.activity_detail, null); 

這個(gè) Fragment 的 View 是新創(chuàng)建的跟 Activity 中的都不是同一個(gè)對(duì)象。

2018年3月1日 18:09