2 回答
TA贡献2080条经验 获得超4个赞
这是您绑定和获取复选框值的方式:
Checkbox cb = (CheckBox)findViewById(R.id.yourCheckBox);
boolean checkboxState = cb.isChecked();
现在为了通过回调将该信息传递给您的活动,您可以执行以下操作:
在您的片段中创建一个界面:
public interface MyInterface {
public void onMyInterface(boolean b);
}
在 onAttach() 方法中包括以下内容:
MyInterface myInterface;
@Override
public void onAttach(Context context) {
super.onAttach(context);
myInterface = (MyInterface) context;
}
当您需要将数据发送到活动时,在您的片段中添加以下内容:
sendBooleanCheckBox(checkBoxState);
在哪里:
public void sendBooleanCheckBox(boolean b) {
myInterface.onMyInterface(b);
}
在您的活动中:
@Override
public void onMyInterface(boolean b) {
Log.d("TAG","check box value is: " + b);
}
确保您的活动实现了接口:
public MyActivity implements OnMyInterface {...
TA贡献1877条经验 获得超6个赞
我相信您正在使用PreferenceFragmentCompat。在文档中,我看到可以使用 findPreference(key) findPreference(java.lang.CharSequence)方法找到Preference 。findPreference 返回一个可以为您提供值的 Preference 对象。
添加回答
举报