当前位置: 首页 > article >正文

[autojs]ui线程中更新控件的值的问题

"ui";
ui.layout(
    <vertical>
        <button id="autoFloatWindow" text="开启悬浮窗" textSize="15sp" />
        <button id="autoService" text="开启无障碍服务" textSize="15sp" />
        <button id="fw" text="创建悬浮窗" />
        <button id="fw2" text="悬浮窗滚动文字" />
    </vertical>
);
ui.autoService.on("click", function () {
    //弹出无障碍服务设置
    app.startActivity({
        action: "android.settings.ACCESSIBILITY_SETTINGS"
    });


});

ui.autoFloatWindow.on("click", function () {
    //申请悬浮窗
    importClass(android.content.Intent);
    importClass(android.net.Uri);
    importClass(android.provider.Settings);
    var intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
        Uri.parse("package:" + context.getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    app.startActivity(intent);
});

ui.fw.on("click", function () {
    threads.start(function(){

           w = floaty.rawWindow(
            <frame gravity="center">
                <text id="text">悬浮文字</text>
            </frame>
        );
    });
});
ui.fw2.on("click", function () {
    threads.start(function(){
        w.setPosition(500, 500);
        w.setTouchable(false);
        ui.run(()=>{
        w.text.setText("123");
        });
        sleep(3000)
        ui.run(()=>{
        w.text.setText("over!");
        });
    });
});

总结:

1、不能直接在线程中更新控制值,否则会提示autojs Only the original thread that created a view hierarchy can touch its错误

2、要更新控制值需要使用ui.run进行操作,可以尝试去掉代码中ui.run看看效果。你会发现只能更新到123就开始报错了。


http://www.kler.cn/news/148552.html

相关文章:

  • 中小型公司如何搭建运维平台,rancher、kubersphere、rainbond
  • 漏洞环境靶场搭建(内含DVWA SQLi-LABS upload-labs等)
  • mybatis <include refid=“xxx“></include>
  • 【每日一题】1457. 二叉树中的伪回文路径-2023.11.25
  • 142. 环形链表 II --力扣 --JAVA
  • linux 提权
  • XML Schema中的simpleContent 元素
  • os和path模块
  • NI自动化测试系统用电必备攻略,电源规划大揭秘
  • 成为AI产品经理——TPR、FPR、ROC、AUC
  • vue3-09
  • 5.28每日一题(函数在区间有/无界的判断:相关定理(充分条件))
  • Kanna库代码示例
  • 股票技术从初级到高级,从实盘进阶到摩尔缠论
  • Unity优化——脚本优化策略3
  • mac Terminal config proxy 【mac 终端配置代理】
  • Oracle(2-5)Usage and Configuration of the Oracle Shared Server
  • Vue 3 面试经验分享
  • CSS 属性列表
  • 手写字符识别神经网络项目总结
  • Elasticsearch底层原理分析——新建、索引文档
  • RabbitMQ工作模式2 整合springboot 和MQ高级特性
  • datasets.Dataset.map方法学习笔记
  • vscode在Windows上安装插件提示错误xhr failed
  • 编程语言发展史:Ruby语言的发展和应用
  • Docker 镜像使用
  • sqlserver写入中文乱码问题
  • Java中的mysql——面试题+答案(数据库设计)——第25期
  • 机器学习的复习笔记2-回归
  • 如何获取高质量的静态住宅IP代理?常见误区与注意事项