Android什么是Preference.getExtras()用于?

ilo*_*mbo 0 android preference extras android-intent

Preference类有一个名为getExtras()的方法.
它可能或可能与Preference意图无关,但Extras可以直接使用intent获取和放置.
在Preference类中没有putExtra/s()方法,那么...
getExtras()的目的是什么?使用哪种情景剧?

Eri*_*ric 5

getExtras()的目的是什么?

它并没有真正做任何有用的事情.认真.

所述Preference源代码,有一个private成员变量mExtras:

private Bundle mExtras;
Run Code Online (Sandbox Code Playgroud)

但是,它永远不会以任何方式改变(并且不能被外部类访问),除了以下内容:

public Bundle getExtras() {
    if (mExtras == null) {
        mExtras = new Bundle();
    }
    return mExtras;
}
public Bundle peekExtras() {
    return mExtras;
}
Run Code Online (Sandbox Code Playgroud)

我想它可能会在未来用于某些事情,但它在API 11中添加,并且通过API 16仍然无用.

在Preference类中没有putExtra/s()方法,然后......使用哪个scenrarios?

我想你可以用它来关联具有偏好的项目,例如:

Bundle extras = myPref.getExtras();
extras.putString("KEY", "Value");
Run Code Online (Sandbox Code Playgroud)

您不需putExtra()要这样做,而是Bundle直接访问.但似乎这就是所有有用的东西.