2016-02-13 209 views
1

我在我的App Inventor 2應用程序中遇到了一個錯誤。我使用三個複選框,因此用戶可以將值傳遞給時鐘組件中的定時器間隔。TimerInterval操作無法接受參數:App Inventor 2中的[(1800)] 2

這些值作爲三個毫秒值(例如1600,1800,2000)的列表存儲在變量中。我檢查代碼的時間和選中的複選框,然後將它作爲標記傳遞給TinyDB數據庫。

問題是,在這樣做和運行該應用程序的設備上,我得到以下錯誤,如標題所示。

這裏是編碼塊到目前爲止我用:

enter image description here

有誰是一種足以告訴我要怎麼解決這個問題?是否有可能通過此邏輯將值傳遞給時鐘組件。我前段時間用過成功的listPicker,但我需要用checkBoxes佈局完成。預先感謝您的答覆。

[編輯1] 爲了克服這個錯誤,以及@泰豐的言論和建議之前,我遵循變量路徑,在計時器間隔字段中傳遞值。現在不要現在如果它非常有效,但它現在正在工作。這裏是編碼塊:

enter image description here

回答

1

這樣支架對()表示的列表。

操作TimerInterval不能接受的參數:[(1800)]

這是什麼錯誤消息要告訴你:你要轉讓的列表,其中有項目1800內部,到clock組件的TimerInterval屬性。

您應該直接賦值。你

enter image description here

也應該考慮默認值:應使用哪個值,如果用戶沒有任何東西存儲在TinyDB ...您正在用在valueIfTagNotThere插座一個空字符串...這並沒有什麼意義......一個更好的價值將會是,例如1000 ...對於if-then-else聲明中的else部分是相同的......

+0

嗨,泰富。感謝您的評論。我會嘗試一下,看看我得到了什麼。同時我使用了一個變量,其值存儲在TinyDB標籤中。我不確定它是否有效且功能強大,因此歡迎任何意見。看我的編輯。 – user3244633

+0

有很多的可能性...你設法成功地刪除'做一個列表'塊不理解,爲什麼發生錯誤......但現在可能在我的答案後,你明白了... ...順便說一句。在你的第二個更好的辦法是使用局部變量而不是全局變量... – Taifun

+0

是的,我想過使用局部變量,但儘管你已經指出了我之前使用它的例子,但我並不是很有信心使用局部變量。 – user3244633