2015-07-13 139 views
2

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

enter image description here

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

enter image description here

我想出如何让valuetoStore变量。如下。

enter image description here

我以前做过,并认为它错了,因为它仍然不在列表中改变第三个项目。但我添加了一个通知器来查看它,它是正确的。所以“替换列表项目”不能正常工作,我认为它应该如此。它不是用“n”取代第3个项目。

任何想法? 谢谢。

回答

1

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

那么你的“解决方案”有什么不同?
当前您将列表分配给本地变量name。然后,您将replace list item块与列表一起使用,您不能存储某处(您正在从TinyDB再次加载列表)。最后,您在TinyDB中存储变量name(根本没有修改过)。因此,解决方案是将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
How to work with Lists通过SAJ
How to work with Lists and Lists of lists(PDF)由appinventor.org

+0

你是一个天才大风,是正确的。 显然这两者有所不同,但有什么不同?应该相等。 –

+0

我明白了。再次感谢。这肯定是一种非常灵活的语言。 –