Поле поиска должно иметь возможность искать отдельные слова из окна поиска.

Я использую MIT App Inventor 2 и пытаюсь сделать окно поиска более полезным.

Прямо сейчас у нас есть куча списков, и это работает только в том случае, если слова в текстовом поле «поиск» точно соответствуют слову в списке. Я хочу, чтобы он был более динамичным. Например, если кто-то помещает oj container в поле поиска, я хочу, чтобы он искал в списках oj container, и если это ничего не дает, тогда ищите в списках oj и container отдельно. И если он находит одно из этих слов в списке, переходит к следующему действию, которое заключается в открытии соответствующей страницы.

Пока мой код выглядит так:

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

Скажите, имеет ли смысл этот код. Спасибо.

Еще несколько скриншотов кода


person TomFerr    schedule 03.08.2015    source источник
comment
Не могли бы вы вместо этого добавить скриншот своих блоков? Вы можете загрузить его в такую ​​службу, как imgur.com, а затем отредактировать свой вопрос и добавить ссылка на скриншот. Спасибо.   -  person Taifun    schedule 03.08.2015
comment
Да. Отличная идея. Спасибо.   -  person TomFerr    schedule 03.08.2015


Ответы (1)


Нет, это не имеет смысла. Блок split at spaces возвращает список, а с помощью блока is in list? вы не можете искать список вещей, только «вещь» (в вашем случае одно слово). Поэтому вам придется искать каждое отдельное слово в вашем списке, используя цикл for each item in list.

Также в ваших блоках есть некоторая избыточность. Если поиск oj container успешен, поиск oj также успешен, что означает, что вы можете удалить блоки для поиска полного предложения...

Смотрите мое решение для первой части вашего скриншота.

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

person Taifun    schedule 03.08.2015