我有一个片段,其中使用了按钮,并在onCreateView()中调用了按钮。
我在Fragment中声明了这些属性:
Button button;
Carrier carrier;
在onCreateView()方法中,我为它们分配值:
button =v.findViewById(R.id.button);
carrier = getCarrier();
我在onStart()方法中使用它们:
button.setOnClickListener(this);
button.setBackgroundColor(ContextCompat.getColor(getContext(),carrier.getColourResource()));
当我最小化并返回时,buttonValue不会变为null,但是载体值变为null。
为什么会这样发生?两个对象是否应该统一?
运营商类别:
public class Carrier {
private Integer colourResource = 0;
public Carrier(Integer colourResource) {
setColourResource(colourResource);
}
public Integer getColourResource() {
return colourResource;
}
public void setColourResource(int resource) {
colourResource = new Integer(resource);
}
}
我正在加载的该片段基于父片段
就像public class ThisFragment extends ParentFragment {}
父片段:
public class ParentFragment() extends Fragment{
private Carrier carrier;
public void setCarrier(int color) {
carrier = new Carrier(new Integer(color));
}
public Carrier getCarrier() {
return carrier;
}
}