Операция TimerInterval не может принимать аргументы: [(1800)] в App Inventor 2.

Я застрял на ошибке в моем приложении App Inventor 2. Я использую три флажка, чтобы пользователь мог передавать значения интервалу таймера в компоненте часов.

Значения хранятся в переменной в виде списка из трех значений миллисекунд (например, 1600, 1800, 2000). Я проверяю код, когда и какой флажок установлен, а затем передаю его в базу данных TinyDB в качестве тега.

Проблема в том, что в Do it и на устройстве, на котором запущено приложение, я получаю следующую ошибку, как следует из названия.

Вот блоки кодирования, которые я использовал до сих пор:

введите здесь описание изображения

Кто-нибудь будет достаточно любезен, чтобы направить меня к тому, как решить эту ошибку? Можно ли передавать значения компоненту часов с помощью этой логики. Некоторое время назад я успешно использовал listPicker, но мне нужно сделать это с помощью макета checkBoxes. Всем заранее спасибо за ответы.

[Edit1] Чтобы преодолеть эту ошибку и до замечаний и предложений @Taifun, я следовал пути переменной, чтобы передать значения в поле интервала таймера. Не делайте этого сейчас, если это очень эффективно, но пока работает. Вот блоки кодирования:

введите здесь описание изображения


person CodeBugging    schedule 13.02.2016    source источник


Ответы (1)


Такие пары скобок () представляют собой список.

Операция TimerInterval не может принимать аргументы: [(1800)]

Вот что пытается сказать вам сообщение об ошибке: вы пытаетесь присвоить список, внутри которого находится элемент 1800, свойству TimerInterval компонента clock.

Вместо этого вы должны присвоить значение напрямую.

введите здесь описание изображения

Также вы должны подумать о значении по умолчанию: какое значение следует использовать, если пользователь ничего не сохранил в TinyDB... В настоящее время вы используете пустую строку в сокете valueIfTagNotThere... Это не имеет особого смысла... Лучшее значение было бы, например, 1000... то же самое для части else в вашем выражении if-then-else...

person Taifun    schedule 13.02.2016
comment
Привет Тайфун. Спасибо за замечания. Я попробую и посмотрю, что у меня получится. Тем временем я использовал переменную со значениями из флажков, которые хранятся в теге TinyDB. Я не уверен, что это будет эффективно и функционально, поэтому любое мнение приветствуется. Смотрите мою правку. - person CodeBugging; 14.02.2016
comment
есть масса возможностей... и вам удалось успешно удалить блок make a list, не понимая, почему произошла эта ошибка... но теперь, наверное, после моего ответа вы поняли?... кстати. во втором случае лучше использовать локальную переменную вместо глобальной... - person Taifun; 14.02.2016
comment
Да, я думал об использовании локальной переменной, но, хотя вы уже приводили мне пример ее использования, я не очень уверен в использовании локальных переменных. - person CodeBugging; 14.02.2016