how to implement search in custom listview in android? -
I have a list and my list has a list view, my list view contacts list edlistxt with me the list view filter I have searched a lot on Google and found some examinations, but none of my work has worked for me - my custom adapter
increases the public class ContactListAdapter ArrayAdapter {Personal end activity Activity; Private Final List & lt; ContactStock & gt; Shares; Private Arrestist & lt; ContactStock & gt; array list; Public contact list adapter (activity activity, list & lt; contactstock & gt; objects) {super (activity, rl.ltv.viewdate_detti, objects); This.activity = Activity; This.stocks = objects; } @ Override Public View getView (int position, seeviewview, ViewGroup parent) {// TODO Auto-Generated Method Viewing Stub Line View = Convertview; ContactStockView sv = Faucet; If (rowView == null) {// A new example of the line layout view layout infographic inflater = activity.getLayoutInflater (); Line view = inflater.inflate (R.layout.listview_dieter, empty); // Hold an object in an object, // so they do not require sv = new ContactStockView () retrieved; Sv.name = (TextView) rowView.findViewById (R.id.textView1); Sv.number = (TextView) rowView.findViewById (R.id.textView2); // cache the visual object in the tag, // so later the rowview can be re-entered in the sitetag (SV); } And {sv = (ContactStockView) rowView.getTag (); } // Transfer Data Data / Data Object to // Object from Data Object. Contact Stocks Current Stock = (Contact Stocks) Stock. Gate (position); Sv.name.setText (currentStock.getName ()); Sv.number.setText (currentStock.getNumber ()); // TODO Auto-generated method stub returns rowView; } Protected Static Class ContactStockView {Protected TextView Name; Protected text view number; } Public Zero Filter (String Character) {charText = charText.toLowerCase (locale.getDefault ()); Stocks.clear (); If (charText.length () == 0) {stocks.addAll (arraylist); } Else {for (Contactstock cs: arraylist) {if (cs.getName (.) Contains (Chartext)} {stocks.add (cs); }}} Specify data sets (); }} The main category is the edittext code
edittext = (EditText) findViewById (R.id.editText1); Edittext.addTextChangedListener (New TextWatcher) {@Override Public Zero onTextChanged (CharSequence, integer start, integer count, integer count) {// TODO Automatic created method stub //MainActivity.this.adapt.getFilter (). Filters (S); String Searching = Edit.get Text () .toString (); adapt.filter (searchString);} @ Override Change the text before public zero (characquains s, int start, int count, int after) {/ / TODO auto generated method stub} @TextChanged (editable) after overe public void Ride {// Tudo Auto-Generated Method Stub}}); Without a custom adapter, it is working with getfilter () but I do not know how to filter with custom adapters. Will be appriciated for any help. Thanks in advance
This has worked for me:
@ Overheated test switch on public zero (Chauscane CS, int org 1, int os 2, int ores 3) {int textlength = cs.length (); ArrayList & LT; ContactStock & gt; TempArrayList = New Arrestist & lt; ContactStock & gt; (); (ContactStock c: ArrayList) {if (textlength & lt; = c.getName () Length ().) {(C.getName () toLowerCase (includes) (cs.toString () toLowerCase ()). .) If {TempArrayList.add (c); }}} MAdapter = New ContactListAdapter (Activity, tempArrayList); Lv.setAdapter (mAdapter); }
Comments
Post a Comment