Krosxx / Android-Auto-Api

安卓无障碍服务Api, 为了简化无障碍服务使用,并使用 Kotlin 以提供简洁的Api。
Apache License 2.0
418 stars 72 forks source link

2.0 #9

Closed 79660095 closed 2 years ago

79660095 commented 2 years ago

大佬,请问2.0看起来是简化了很多,遇到有几个问题请教 如何查询全部 SF.where{}.find() . where条件是必须的吗。还有如何从某个指定的节点开始查询他的所有。 之前的版本是可以现在改2.0不知道怎么写了一直抛出这个 has no conditions 求赐教

Krosxx commented 2 years ago
  1. SmartFinder 目前不支持无条件搜索;可以自定义:

    class AllFinder(node: ViewNode? = null) : ViewFinder<AllFinder>(node) {
    override fun findCondition(node: AccessibilityNodeInfo) = true
    override fun finderInfo(): String = "AllFinder"
    }
    使用:
    AllFinder().findAll()
    AllFinder(fromNode).findAll()
  2. 从指定node开始搜索: node.finder().where().find() 或者使用刚刚的 AllFinder(node).findAll()

79660095 commented 2 years ago

OK 谢谢,看明白了要这个条件有返回值才可以。 难怪我这样写SF.where{true}.findAll() 只是那时候我没搞懂