递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 971|回复: 3
打印 上一主题 下一主题

[安卓] 求助 我实在是想不通是哪里的问题

[复制链接]

12

主题

51

帖子

569

积分

高级会员

Rank: 4

积分
569
跳转到指定楼层
楼主
发表于 2023-11-6 23:35:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己定义事件中给高级列表图片会不刷新显示,扫完码后滑动高级列表框才会显示 qq.zip (207.6 KB, 下载次数: 4)


回复

使用道具 举报

12

主题

51

帖子

569

积分

高级会员

Rank: 4

积分
569
沙发
 楼主| 发表于 2023-11-6 23:36:34 | 只看该作者
文件里面有TXT描述问题
回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37277
板凳
发表于 2023-11-7 08:30:46 | 只看该作者
应该是  解码结果 事件是多线程导致的。
改成下面这样试试。 这个事件改到主线程执行。



<火山程序 类型 = "通常" 版本 = 1 />

变量 结果 <类型 = 文本型>

方法 线程类_线程启动 <接收事件 类型 = 整数 注释 = "线程已经启动事件" 注释 = "注意: 此事件的处理方代码将在多线程环境下执行,必须处理好多线程冲突问题.">
参数 来源对象 <类型 = 线程类 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 用户对象1 <类型 = 对象类 注释 = "提供调用启动方法时所提供的第1个用户对象" @常量参数 = 真>
参数 用户对象2 <类型 = 对象类 注释 = "提供调用启动方法时所提供的第2个用户对象">
{
    如果 (标记值 == 1)
    {
        如果 (解码锁.已锁定 == 假)
        {
            解码锁.加锁 ()
        }
        变量 参数 <类型 = 华为解码图像参数类>
        参数.置多码解码 (假)
        参数.置解析扫码结果 (真)  // 提高解码速度,但是最终结果将无法判断二维码类型,比如:无法判断二维码是否为wifi类型的二维码.
        参数.置扫描格式 (华为码类型.Code128条码)  // 单独扫描二维码,进一步提高解码速度
        参数.置扫描方式 (真)
        变量 扫描结果1 <参考 类型 = 华为扫描结果>
        变量 结果数组 <类型 = "华为扫码结果类 []">
        变量 临时位图 <参考 类型 = 位图类>
        临时位图 = 位图类.从位图区域创建 ((位图类)用户对象1, (整数)DP到像素 (50), (整数)DP到像素 (20), (整数)DP到像素 (300), (整数)DP到像素 (70))
        扫描结果1 = 华为扫码类.解码 ((安卓窗口环境)用户对象2, 华为解码图像数据类.创建 (临时位图), 参数)
        如果 (扫描结果1 != 空对象)
        {
            结果数组 = 扫描结果1.取结果 ()
            如果 (结果数组 != 空对象 && 取数组成员数 (结果数组) > 0)
            {
                如果 (取文本长度 (结果数组 [0].取结果 ()) >= 9 && 取文本长度 (结果数组 [0].取结果 ()) <= 16)
                {
                    结果 = 结果数组 [0].取结果 ()
                    开始提交到主线程等待执行 ()
                    {
                        解码结果 ((位图类)用户对象1, 外部本对象 (解码类).结果)
                    }
                    结束提交到主线程等待执行 ()
                    {

                    }

                }
            }
        }
        如果 (解码锁.已锁定 == 真)
        {
            解码锁.解锁 ()
        }
    }
    返回 (0)
}
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

12

主题

51

帖子

569

积分

高级会员

Rank: 4

积分
569
地板
 楼主| 发表于 2023-11-7 19:34:36 | 只看该作者
创世魂 发表于 2023-11-7 08:30
应该是  解码结果 事件是多线程导致的。
改成下面这样试试。 这个事件改到主线程执行。

感谢大神指点  懂了一点点了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-16 10:34 , Processed in 0.090099 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表