极速网络科技 发表于 2024-4-22 18:01:36

遇到的奇怪问题,自定义下拉列表框插不进项目

本帖最后由 极速网络科技 于 2024-4-22 18:20 编辑

<p><font style="background-color: rgb(255, 255, 255);"><火山程序 类型 = "通常" 版本 = 1 /></font></p><p><font style="background-color: rgb(255, 255, 255);">方法 加载设备类型
{
    如果 (文件是否存在 (设备类型配置文件名) == 假)
    {
      提示框 ("设备类型配置数据为空", )
    }
    否则
    {
      设备类型配置数据 = 读入文本文件 (设备类型配置文件名, 文本编码.UTF8)
      类型下拉列表框.适配器.删除所有项目 ()
      类型自定义列表框1.适配器.删除所有项目 ()
      变量 JSON对象 <类型 = JSON对象类>
      变量 JSON数组 <类型 = JSON数组类>
      变量 Y <类型 = 整数>
      JSON对象 = JSON对象类.创建自文本数据 (设备类型配置数据)
      JSON数组 = JSON数组类.创建自文本数据 (到文本 (JSON对象.取值 ("LeiConfig")))
      循环 (, JSON数组.成员数, Y)
      {
            变量 下拉列表数据 <类型 = 列表数据>
            下拉列表数据.标题 = 到文本 (JSON数组.取值 (Y))
            类型下拉列表框.适配器.插入项目 (下拉列表数据, , 假)
            添加设备类型 (到文本 (JSON数组.取值 (Y)))
      }
      类型下拉列表框.适配器.通知内容被改变 ()
      类型自定义列表框1.适配器.通知内容被改变 ()</font></p><p><font style="background-color: rgb(255, 255, 255);">    }
}
</font></p>
<火山程序 类型 = "通常" 版本 = 1 />

方法 自定义下拉列表框_取对象项目视图 <接收事件 类型 = 整数 注释 = "用户必须处理该事件以获得对应当前下拉列表项目的显示视图">
参数 来源对象 <类型 = 自定义下拉列表框 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 项目信息 <类型 = 对象数据适配信息>
{
    变量 下拉列表数据 <类型 = 列表数据>
    变量 根布局 <类型 = 线性布局器 "">
    变量 项目文本框 <类型 = 文本框 文本字体尺寸 = 18>
    下拉列表数据 = (列表数据)项目信息.项目数据对象
    根布局.添加子组件 (项目文本框, )
    项目文本框.内容 = 下拉列表数据.标题
    项目文本框.文本颜色 = 颜色类.深灰色
    根布局.水平偏移 = 20
    项目文本框.顶边 = 2
    项目文本框.底边 = 2
    类型下拉列表框.置下拉窗口背景图 = 颜色可绘制对象类.创建 (0xFFBCBCBC)
    区域下拉列表框.置下拉窗口背景图 = 颜色可绘制对象类.创建 (0xFFBCBCBC)
    类型下拉列表框.下拉窗口垂直偏移 = 52
    类型下拉列表框.下拉窗口水平偏移 = 17
    区域下拉列表框.下拉窗口垂直偏移 = 52
    区域下拉列表框.下拉窗口水平偏移 = 17
    项目信息.所返回组件 = 根布局
    返回 (0)
}






为什么我调用第一次这个方法“加载设备类型”,自定义下拉列表里没有加入项目,而调用第二次这个方法才给自定义下拉列表里加入了项目,而调用一次后其他地方已经有内容了,也就说明进入循环了,实在没找到哪里的问题,求大神指教。



.

极速网络科技 发表于 2024-4-22 18:04:31

本帖最后由 极速网络科技 于 2024-4-22 18:07 编辑

粘贴的照片点发布帖子后就没了。

先生 发表于 2024-4-22 19:21:14

不是写了判断吗   你先调试看有没有执行到哪里   第一次循环有没有执行到

极速网络科技 发表于 2024-4-22 22:43:55

先生 发表于 2024-4-22 19:21
不是写了判断吗   你先调试看有没有执行到哪里   第一次循环有没有执行到

每次执行都进入循环里了,因为“自定义下拉列表框.适配器.插入项目(,,)”这命令我没找到他的返回信息及类型,没法判断这一条到底执行成功了没。
他下面的“添加设备类型()”这个自定义的函数都执行了。

创世魂 发表于 2024-4-22 23:29:03

下拉列表框.适配器.处理内容被改变 ()用这个方法试试。

极速网络科技 发表于 2024-4-23 00:09:47

创世魂 发表于 2024-4-22 23:29
下拉列表框.适配器.处理内容被改变 ()用这个方法试试。

感谢,用这个方法解决了。
页: [1]
查看完整版本: 遇到的奇怪问题,自定义下拉列表框插不进项目