【问题标题】:The operation TimerInterval cannot accept the arguments: [(1800)] in App Inventor 2操作 TimerInterval 不能接受参数:App Inventor 2 中的 [(1800)]
【发布时间】:2016-02-13 19:17:07
【问题描述】:

我的 App Inventor 2 应用程序出现错误。我正在使用三个复选框,因此用户可以将值传递给时钟组件中的计时器间隔。

这些值作为三个毫秒值的列表存储在一个变量中(例如 1600、1800、2000)。我在何时以及哪个复选框被选中时签入代码,然后将其作为标签传递给 TinyDB 数据库。

问题是,在 Do it 和运行该应用程序的设备上,我收到标题提示的以下错误。

这是我目前使用的编码块:

有没有人好心指导我如何解决这个错误?是否可以通过此逻辑将值传递给时钟组件。前段时间我成功地使用了 listPicker,但我需要使用 checkBoxes 布局来完成它。提前感谢大家的回答。

[编辑1] 为了克服这个错误,在@Taifun 的评论和建议之前,我按照变量路径,在计时器间隔字段中传递值。如果它非常有效但现在正在工作,请不要现在。这是编码块:

【问题讨论】:

    标签: arguments android-checkbox app-inventor tinydb


    【解决方案1】:

    像这样的括号对 () 表示一个列表。

    TimerInterval 操作不能接受参数:[(1800)]

    这就是错误消息试图告诉您的内容:您正在尝试将包含项目 1800 的列表分配给 clock 组件的 TimerInterval 属性。

    你应该直接赋值。

    您还应该考虑默认值:应该使用哪个值,如果用户没有在TinyDB 中存储任何内容...您当前在valueIfTagNotThere 套接字中使用空字符串...这确实不是很有意义...更好的值将是例如 1000 ...与您的 if-then-else 语句中的 else 部分相同...

    【讨论】:

    • 嗨泰丰。感谢您的评论。我会尝试一下,看看我得到了什么。同时,我使用了一个变量,其值来自存储在 TinyDB 标记中的复选框。我不确定它是否有效和实用,所以欢迎任何意见。查看我的编辑。
    • 有很多可能性...您成功地删除了make a list 块而不理解,为什么会发生该错误...但现在可能在我的回答之后您明白了吗?...顺便说一句.在您的第二个解决方案中,最好使用局部变量而不是全局变量...
    • 是的,我想过使用局部变量,但是虽然你之前给我举了一个使用它的例子,但我对使用局部变量并不是很有信心。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 2018-06-21
    相关资源
    最近更新 更多