好吧…没人笑…我正在麻省理工学院/谷歌appinventor开发一个应用程序。这里有一个小结:
扫描条形码然后运行图中的功能。
如果项目在列表中,则
在库存列表中查找项目位置索引。
使用该项索引,将数量列表中的值增加1。
如果项目不在列表中,则
将该项添加到库存中,并在数量中添加“1”。
我不明白为什么它不起作用,所以我只是检查一下我的逻辑是否有明显的缺陷。如果逻辑看起来很可靠,那么我应该能够找出appinventor问题,使其工作。

最佳答案

这是你的功能翻译(准确地说?)变成伪代码来帮助我理解(希望还有其他人):

function addItem:
  if inventoryList.contains(scannerResult):
    inventoryPosition = inventoryList.positionOf(scannerResult)
    quantityPosition = quantityList.positionOf(scannerResult)
    quantityItem = quantityList.selectListItemAt(quantityPosition)
    quantityList.insert(quantityItem at inventoryPosition)
  else
    inventoryList.add(scannerResult)
    quantityList.add(1)

当扫描器结果已在列表中时,问题似乎出现在逻辑中。我不知道app inventor的相关功能,但我认为您需要的是:
  if inventoryList.contains(scannerResult):
    inventoryPosition = inventoryList.positionOf(scannerResult)
    quantity = quantityList.selectListItemAt(inventoryPosition)
    quantityList.setListItemAt(quantityPosition to quantity + 1)

最后一行是我不知道如何翻译成app inventor语言的那一点,但希望这足以为您指明正确的方向。

关于android - 程序流程AppInventor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19991923/

10-09 08:28