Follow the steps given below to find and highlight text, entered in EditText, in a custom ListView in Sketchware. This method makes the use of class
Spannable.
1. In VIEW area of your sketchware project, add
an EditText and a ListView (edittext1 and listview1).
2. Add a new CustomView custom.xml. In this CustomView add two TextViews (textview1 and textview2).
3. Now in properties of ListView, select the new CustomView added as it's customView.
4. In LOGIC area of your app, add a new List Map: maplist1., and a new Map: map1. Also add a Number variable index and three String variables Name, Number and term.
5. In onCreate event in your project,
Create a new Map, add items to the Map using keys Name and Number (change or increase keys per your need), and add the Map to the List Map: maplist1. In this way add as many items as desired. In the end use Block setListCustomViewData to display the List Map in ListView. (See image below).
6. Add a new event ListView: onBindCustomView and a new event EditText:onTextChanged.
7. In event EditText: onTextChanged, set String term to CharSeq and refresh ListView.
8. In event ListView: onBindCustomView,
use blocks and codes as shown in image below.
* First use an add source directly block to declare spannable1 and spannable2 and define fgSpan and bgSpan.
Spannable spannable1;
Spannable spannable2;
android.text.style.ForegroundColorSpan fgSpan = new android.text.style.ForegroundColorSpan(Color.RED);
android.text.style.BackgroundColorSpan bgSpan = new android.text.style.BackgroundColorSpan(Color.YELLOW);
* Then set String Name to key Name of Map List, and set String Number to key Number of List Map maplist1.
* Use another add source directly block to define spannable1 and spannable2.
spannable1 = new SpannableString(Name);
spannable2 = new SpannableString(Number);
* Use an if..then.. block. If String Name contains String term,
set Number index to index of term in Name, and setSpan of spannable1 with fgSpan and bgSpan.
spannable1.setSpan(android.text.style.CharacterStyle.wrap(fgSpan), (int)index, (int)index + term.length(), 0);
spannable1.setSpan(android.text.style.CharacterStyle.wrap(bgSpan), (int)index, (int)index + term.length(), 0);
* Use another if..then.. block. If String Number contains String term,
set Number index to index of term in Number, and setSpan of spannable2 with fgSpan and bgSpan.
spannable2.setSpan(android.text.style.CharacterStyle.wrap(fgSpan), (int)index, (int)index + term.length(), 0);
spannable2.setSpan(android.text.style.CharacterStyle.wrap(bgSpan), (int)index, (int)index + term.length(), 0);
* Set spannable1 as text of textview1 and spannable2 as text of textview2.
textview1.setText(spannable1);
textview2.setText(spannable2);
9. Save and run the project to see and search the Custom ListView.
The video below shows the Sketchware project:
This is my first time visit to your blog and I am very interested in the articles that you serve. Provide enough knowledge for me. Thank you for sharing useful and don't forget, keep sharing useful info: meilleur site de rencontre
ReplyDeleteForensic audio includes a number of different areas of expertise. The four main ones are audio enhancement, audio authentication, forensic transcription, and speaker identification. Another task is the analysis of gun shots and other sounds. Part one of this article explores enhancement and authentication. Best Car Speakers
ReplyDeletebackground video pls guys
ReplyDeleteKeep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information. hardware store
ReplyDeleteThis is a truly good site post. Not too many people would actually, the way you just did. I am really impressed that there is so much information about this subject that have been uncovered and you’ve done your best, with so much class. If wanted to know more about green smoke reviews, than by all means come in and check our stuff. singapore online hardware shop
ReplyDeleteThis was really an interesting topic and I kinda agree with what you have mentioned here! best hardware store Singapore
ReplyDeleteCan nicely write on similar topics! Welcome to here you'll find out how it should look. best generator
ReplyDelete