2013-02-20 29 views
0

Preference類有一個名爲getExtras()的方法。
它可能或可能與偏好意圖無關,但可以直接使用意圖獲取和放置附加內容。
Preference類中沒有方法putExtra/s(),那麼...
getExtras()的目的是什麼?它使用哪種場景?Android什麼是Preference.getExtras()用於?

回答

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(),那麼...在哪個場景中使用?

我想你可以使用它與項目偏好關聯,如:

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

你不需要putExtra()這樣做,而不是直接訪問Bundle。但這似乎是所有這些都很有用。

0

在文檔中沒有很好地解釋它,但#getExtras適用於通過#setFragment開始另一個片段的首選項。只要您使用PreferenceActivity,就會在首選項are passed to the specified fragment上指定任何附加項。