我想从以下Android片段文档中了解一些内容:
Android fragment docs
在页面末尾的示例中,mcurcheckposition int作为“curchoice”保存在bundle中:

@Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putInt("curChoice", mCurCheckPosition);
    }

但是,在示例开始时,当检查并可能检索“curchoice”时,提供了第二个参数“0”:
 if (savedInstanceState != null) {
            // Restore last state for checked position.
            mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
        }

这个零在那里干什么?引用“curchoice”的目的当然是首先检索保存在它下面的值吗?

最佳答案

这个零在那里干什么?
引用the documentation,它是“如果[键]不存在,则返回的值”。
引用“curchoice”的目的当然是首先检索保存在它下面的值吗?
是的,在这种情况下,默认值似乎是多余的。通常,默认值适用于键被有条件地添加到Bundle的情况,因此Bundle的使用者可以干净地处理未添加键的情况。

07-26 09:08