替换列表项 Appinventor

Replace List Item Appinventor

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

所以我现在想将更改保存在 TinyDB 中 并添加了一个 storeValue 命令如下。

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

我以前这样做过,我认为这是错误的,因为它仍然没有改变列表中的第 3 项。但是我添加了一个通知程序来查看它是正确的。所以 "replace list item" 没有按我认为的那样工作。它没有用 "n."

替换第三项

有什么想法吗? 谢谢

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

中检索值

那么你的 "solution" 有什么区别?
目前你将列表分配给局部变量 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.

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