2 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是您綁定和獲取復(fù)選框值的方式:
Checkbox cb = (CheckBox)findViewById(R.id.yourCheckBox);
boolean checkboxState = cb.isChecked();
現(xiàn)在為了通過(guò)回調(diào)將該信息傳遞給您的活動(dòng),您可以執(zhí)行以下操作:
在您的片段中創(chuàng)建一個(gè)界面:
public interface MyInterface {
public void onMyInterface(boolean b);
}
在 onAttach() 方法中包括以下內(nèi)容:
MyInterface myInterface;
@Override
public void onAttach(Context context) {
super.onAttach(context);
myInterface = (MyInterface) context;
}
當(dāng)您需要將數(shù)據(jù)發(fā)送到活動(dòng)時(shí),在您的片段中添加以下內(nèi)容:
sendBooleanCheckBox(checkBoxState);
在哪里:
public void sendBooleanCheckBox(boolean b) {
myInterface.onMyInterface(b);
}
在您的活動(dòng)中:
@Override
public void onMyInterface(boolean b) {
Log.d("TAG","check box value is: " + b);
}
確保您的活動(dòng)實(shí)現(xiàn)了接口:
public MyActivity implements OnMyInterface {...

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
我相信您正在使用PreferenceFragmentCompat。在文檔中,我看到可以使用 findPreference(key) findPreference(java.lang.CharSequence)方法找到Preference 。findPreference 返回一個(gè)可以為您提供值的 Preference 對(duì)象。
添加回答
舉報(bào)