onCreate上保存的实例状态和片段的onActivityCreated有什么不同?

时间:2014-04-27 06:58:12

标签: android fragment

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.savedInstanceState = savedInstance;
    }
@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        try {
            Log.d("Equals?",savedInstanceState.equals(this.savedInstanceState));
        } catch (Exception e) {
            Log.d("Equals?",savedInstanceState==this.savedInstanceState);
        }
    }

这总是\永远不会或仅在某些情况下记录为真?

编辑: 在看到亨利的评论之后,让我们解决我的问题,好像Intent已经覆盖了它的等号,它确实比较了那些对象的内容,而不是引用......

1 个答案:

答案 0 :(得分:1)

调用

onCreate(Bundle)来初始创建片段。

onActivityCreated(Bundle)告诉片段其活动已完成自己的Activity.onCreate()。

所以我们可以说Bundle savedInstanceState在两个地方都是一样的。

更多访问

http://developer.android.com/reference/android/app/Fragment.html

http://developer.android.com/guide/components/fragments.html

你写了

@Override
    public void onCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        this.savedInstanceState = savedInstance;
    }

我不明白哪个生命周期是onCreated我认为它应该是onCreate并且行应该是

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
....}