Java 带复选框的片段

Java 带复选框的片段,java,android,Java,Android,我有三个片段,在所有三个片段中我使用了复选框,我希望当片段切换时,复选框保持原样 Button.OnClickListener btnOnClickListener=new Button.OnClickListener(){ public void onClick(android.view.View v) { Fragment newFragment; if(v==btn1){ newFragment=new AwardTypeFragment

我有三个片段,在所有三个片段中我使用了复选框,我希望当片段切换时,复选框保持原样

Button.OnClickListener btnOnClickListener=new Button.OnClickListener(){
    public void onClick(android.view.View v) {
      Fragment newFragment;
      if(v==btn1){
          newFragment=new AwardTypeFragment();
      }else if(v==btn2){
          newFragment =new StateFragment();
      }else if(v==btn3){
          newFragment= new CityFragment();
      }else if(v==btn4){
          newFragment=new GenderFragment();
      }else{
          newFragment=new StartFragment();
      }                 
      FragmentTransaction transaction=getFragmentManager().beginTransaction();
      transaction.replace(R.id.myFragment, newFragment);
      transaction.addToBackStack(null);     
      transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
      transaction.commit();             
}

在“活动”中存储复选框的状态。选中复选框后,调用类似以下内容:

getActivity().setCheckbox1State(true);
类似地,通过以下方式获取状态:

getActivity().getCheckbox1State();

将Checkbox1 name引用替换为它所表示的实际值。在活动中,您将需要实现get和set方法。这是一个简单的例子;您可以创建一个更优雅的界面来处理所有复选框并保存状态。

//在Oncreate of Fragment构造函数中

public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
.... 

View root = inflater.inflate(R.layout.fragment_home, container, false);

CheckBox favoritosBox = (CheckBox) root.findViewById(R.id.checkBoxFav);

favoritosBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, 
                                 boolean isChecked) {
        //ACTION
    }
});

你的问题是什么?