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

时间:2013-02-20 18:21:42

标签: android android-intent preference extras

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

2 个答案:

答案 0 :(得分:5)

  

getExtras()的目的是什么?

它实际上并没有做任何有用的事情。严重。

the Preference source code中,有一个private成员变量mExtras

private Bundle mExtras;

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

public Bundle getExtras() {
    if (mExtras == null) {
        mExtras = new Bundle();
    }
    return mExtras;
}
public Bundle peekExtras() {
    return mExtras;
}

我想它可能会在将来用于某些事情,但它已在API 11中添加,并且在API 16中仍然无用。

  

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

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

Bundle extras = myPref.getExtras();
extras.putString("KEY", "Value");

您不需要putExtra()这样做,而是直接访问Bundle。但这似乎是它的所有有用之处。

答案 1 :(得分:1)

文档中没有详细说明,但#getExtras适用于通过#setFragment启动另一个片段的首选项。只要您使用PreferenceActivity,就会在首选项Bash tool to get nth line from a file上指定任何附加内容。