package
king.muchbeer.androidlistviewwithsearch;
import
java.util.ArrayList;
import
java.util.HashMap;
import
android.app.Activity;
import
android.os.Bundle;
import
android.text.Editable;
import
android.text.TextWatcher;
import
android.widget.ArrayAdapter;
import
android.widget.EditText;
import
android.widget.ListView;
public
class
MainActivity
extends
Activity {
private
ListView lv;
ArrayAdapter<String> adapter;
EditText inputSearch;
ArrayList<HashMap<String, String>> productList;
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String products[] = {
"Dell Inspiron"
,
"HTC One X"
,
"HTC Wildfire S"
,
"HTC Sense"
,
"HTC Sensation XE"
,
"iPhone 4S"
,
"Samsung Galaxy Note 800"
,
"Samsung Galaxy S3"
,
"MacBook Air"
,
"Mac Mini"
,
"MacBook Pro"
};
lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);
adapter =
new
ArrayAdapter<String>(
this
, R.layout.list_item, R.id.product_name, products);
lv.setAdapter(adapter);
/**
* Enabling Search Filter
* */
inputSearch.addTextChangedListener(
new
TextWatcher() {
@Override
public
void
onTextChanged(CharSequence cs,
int
arg1,
int
arg2,
int
arg3) {
MainActivity.
this
.adapter.getFilter().filter(cs);
}
@Override
public
void
beforeTextChanged(CharSequence arg0,
int
arg1,
int
arg2,
int
arg3) {
}
@Override
public
void
afterTextChanged(Editable arg0) {
}
});
}
}