替换列表项Appinventor

时间:2015-07-13 11:16:55

标签: app-inventor

我有一个TinyDB,在TinyDB的每个标签中都有一个列表。 每个列表有3个项目,每个项目索引为1,2和3。 我想改变第3项,索引3。 所以我做了以下

enter image description here

所以我现在要保存TinyDB中的更改 并添加了storeValue命令,如下所示。

enter image description here

我想出了如何获取valuetoStore变量。如下。

enter image description here

我以前做过这个,并认为它错了,因为它仍然没有改变列表中的第3项。但是我已经添加了一个通知程序来查看它并且它是正确的。所以"替换列表项"不是我认为应该如何工作。它不能用" n替换第3项。"

有什么想法吗? 感谢。

1 个答案:

答案 0 :(得分:1)

你的第二次尝试几乎是正确的。唯一的问题是,您应该将replace list item块与局部变量name一起使用,而不是再次从TinyDB检索值。

那么您的"解决方案有什么区别"?
目前您已将列表分配给本地变量name。然后,您将replace list item块与列表一起使用,您无法在某处存储(您正在从TinyDB再次加载列表)。最后,您在name中存储变量TinyDB(根本没有修改过)。因此,解决方案是将replace list item块与局部变量name一起使用,而不是从TinyDB再次检索值。顺便说一句。局部变量name的更好名称是list

进一步提示
同样在局部变量name的定义中,您应该添加一个块,例如empty string0

如果你想简化一点,你可以在name循环中移动局部变量for each的定义。或者使用for each number循环,为了列表,for each item in list循环更容易使用,另请参阅documentation。您的案例中的列表是TinyDB1.GetTags

enter image description here

正如在forum中已经说过的那样,我通常会使用列表列表并将其存储在TinyDB中的一个标签中 Saj的How to work with Lists How to work with Lists and Lists of lists(pdf)appinventor.org