語言

AbstractPreferences.RemoveNode 方法

定義

依照 中的removeNode()規範實作該Preferences#removeNode()方法。

[Android.Runtime.Register("removeNode", "()V", "GetRemoveNodeHandler")]
public override void RemoveNode();
[<Android.Runtime.Register("removeNode", "()V", "GetRemoveNodeHandler")>]
override this.RemoveNode : unit -> unit
屬性

例外狀況

備註

依照 中的removeNode()規範實作該Preferences#removeNode()方法。

此實作會檢查該節點是否為根節點;如果是這樣,它會拋出適當的例外。 接著,它會鎖定該節點的父節點,並呼叫一個遞迴輔助方法,遍歷以該節點為根的子樹。 遞迴方法會鎖定被呼叫的節點,檢查該節點尚未被移除,然後確保所有子節點都被快取:呼叫該 #childrenNamesSpi() 方法後,每個回傳的子名稱都會檢查是否包含在子快取中。 如果某個子節點尚未被快取,會呼叫該 #childSpi(String) 方法來建立 Preferences 該子節點的實例,並將該實例放入子快取中。 接著,輔助方法會對其子快取中包含的每個節點進行遞迴呼叫。 接著,它會 #removeNodeSpi()呼叫 ,標記自己為已移除,並從父的子快取中移除。 最後,若有任何節點變更監聽器,會排隊通知事件,由事件派遣執行緒處理。

請注意,協助者方法總是在所有祖先(直到「最近且未移除的祖先)」都被鎖定的情況下被調用。

的 java.util.prefs.AbstractPreferences.removeNode()Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於