Note: This tutorial was updated in June 2020 to reflect the new when Text Input Changes block, which makes adding a search bar to your app much easier!
This post will talk about creating a search bar for your app.
Search Bars are great if you have a lot of text items or List Viewer options that you want to make available to the user without having a lot of items on the Screen at once.
This post will describe how to make a search bar with a search button and a search bar that updates automatically when the text in the search bar changes.
With Search Button
In the Layout for this app, we have:
A Row containing a Text Input and a Button (which is named SearchButton)
A List Viewer
We use two functions in this app.
defineEntireList simply creates a list entireList with the text items that we want the user to search.
updateTempList creates an empty list called tempList, then scrolls through every item in entireList and adds the items which contain the string in the Text Input to tempList.
When every item in entireList has been checked, tempList is now the list of every item from entireList which contains this string.
The items in tempList are then displayed to the user using a List Viewer.
The user can then select an item from this list!
Automatic Update
Making a search bar with automatically updating results makes your app look really professional.
The process of assembling and displaying the search results works the same as above. We are simply replacing the trigger.
Instead of updating the search results when the user clicks a Search Button, we will update the results when the text in the Text Input changes.
In the Layout for this app, we have
A Text Input
A List Viewer
We have the same function defineEntireList as earlier.
When the Text of the Text Input changes, we save the current text as a variable and call the updateTempList function.
updateTempList works the same as previously, except that we are searching for the string we saved as searchString in the suggest function.
You can find a sample app that demonstrates these functions here.
You can see an app that incorporates this search bar method here: Translator App with Search Bar