4.1版本
UiSelector為條件器,你在獲得一個UiObject/UiCollection/UiScrollable對象時都要傳入這樣一個UiSelector對象進去。UiSelector對象裡的方法就是添加各種條件。
text(String text)/textStartsWith(String text)/textContains(String text)
設定Text等于text字元串/以text字元串開始/包含text字元串
description(String desc)/descriptionStartsWith(String desc)/descriptionContains(String desc)
設定Content-desc的值為desc/以desc開始/包含desc
selected(boolean val)/scrollable(boolean val)/checked(boolean val)/clickable(boolean val)/enabled(boolean val)/focusable(boolean val)/focused(boolean val)
設定selected/scrollable/checked/clickable/enabled/focusable/focusable/focused屬性
index(int index)/instance(int instance)/packageName(String name)/className(String className)
設定index/instance/packageName/className屬性值
buildSelector(int selectorId,Object selectorValue)
傳回的還是UiSelector對象,傳入的參數都會放在UiSelector中的變量mSelectorAttributes中,該變量為一個SparseArray數組中。
childSelector(UiSelector selector)
設定SELECTOR_CHILD的值
patternSelector(UiSelector selector)
設定SELECTOR_PATTERN的值
containerSelector(UiSelector selector)
設定SELECTOR_CONTAINER的值
fromParent(UiSelector selector)
設定SELECTOR_PARENT的值
cloneSelector()
複制目前UiSelector,産生一個新的UiSelector。
patternBuilder(UiSelector selector)/patternBuilder(UiSelector contain,UiSelector pattern)
暫時未知(用2個已知的比對器建構出複雜的比對器,得到的新比對器要同時符合傳進來的2個比對器?)
getChildSelector()
在hashMap得到以SELECTOR_CHILD為key值的Selector對象
getPatternSelector()
在hashMap得到以SELECTOR_PATTERN為key值的Selector對象
getContainSelector()
在hashMap得到以SELECTOR_CONTAINER為key值的Selector對象
getParentSelector()
在hashMap得到以SELECTOR_PARENT為key值的Selector對象
getInstance()
得到key=9個的值,整數值。找不到的話傳回0
getString(int criterion)/getBoolean(int criterion)/getInt(int criterion)
得到key=criterion的值,找不到傳回null/false/0
isMatchFor(AccessibilityNodeInfo info,int index)
判斷info是否符合該比對器所比對的控件,index比對SELECTOR_INDEX的值
matchOrUpdateInstance()
SELECTOR_INSTANCE和SELECTOR_COUNT是否相等,如果不相等就更新SELECTOR_COUNT的值
isLeaf()
方法名為葉子,看源碼意思就是是否存在子節點和父節點。
hasChildSelector()/hasPatternSelector()/hasParentSelector()/hasContainerSelector()
存放屬性的SparseArray對象是否包含SELECTOR_CHILD/SELECTOR_PATTERN/SELECTOR_PARENT/SELECTOR_CONTAINER對象
getLastSubSelector()
獲得SELECTOR_CHILD對象,如果沒有則獲得SELECTOR_PARENT對象。深度周遊直到不存在SELECTOR_CHILD或SELECTOR_PARENT.傳回該對象