片段中的属性会在最小化时变为空值,并在“ {保持活动”的情况下返回

时间:2018-08-17 08:58:46

标签: android android-fragments android-lifecycle fragment-lifecycle

我有一个片段,其中使用了按钮,并在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;

    }
}

0 个答案:

没有答案