跳到主要内容

可编辑约束 (Selector.editable)

Selector.editable

声明

node.selector():editable(val)

参数

参数类型是否必填说明
valbooleantrue=可编辑,false=不可编辑

返回值

类型说明
Selector返回控件查找器,用于链式编程

说明

通过控件的可编辑属性(editable)约束控件。

属性含义:

  • editable=true 表示控件可以编辑文本内容
  • editable=false 表示控件不支持文本编辑
  • 主要用于区分输入控件和展示控件

适用控件类型:

  • EditText - 通常 editable=true
  • TextView - 通常 editable=false
  • SearchView 内的输入框 - editable=true

适用场景:

  • 查找页面中所有输入框
  • 定位可以输入文本的控件
  • 区分可编辑和只读的文本控件

典型应用:

  • 自动填充表单时查找所有输入框
  • 批量获取页面中的输入控件
  • 检测控件是否支持 input() 方法

注意事项:

  • editable=true 的控件通常可以使用 n:input() 输入文本
  • 某些 EditText 可能设置为只读(editable=false)
  • enabled 不同,editable 专指文本编辑能力
待实现

该接口正在开发中。

示例

local node = require("node")

-- 查找当前页面中所有可以编辑文本的控件
local nodes = node.selector():editable(true):find_all()

if nodes then
for _, node in ipairs(nodes) do
print(node)
end
else
print("没有找到任何控件")
end

AScript 对应

# AScript (Python)
from ascript.android.node import Selector

nodes = Selector().editable(True).find_all()