.XML
<TableRow
android:id="@+id/search_row"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/search_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Search" />
<ImageView
android:id="@+id/search_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/search_icon" />
</TableRow>
<ListView android:id="@+id/search_listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
.java
String data[] = { "DUCK",
"BEN", "CHUN", "ERIC", "ERIN", "KEVIN", "SILLY", "SANDY", "CINDY", "NICK" };
EditText search_edittext = (TextView) findViewById(R.id.search_edittext);
ListView search_listview = (ListView) findViewById(R.id.search_listview);
search_listview .setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple, data));
search_edittext .addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editables s){
// Abstract Method of TextWatcher Interface.
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Abstract Method of TextWatcher Interface.
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
int search_edittext_length= search_edittext .getText().length();
ArrayList<String> data_sort= new ArrayList<String>();
for( int i = 0; i < search_edittext_lenth; i++){
if(search_edittext_length <= data[i].length()){
if(search_edittext.getText().toString().
equalsIgnoreCase((String) listview_array[i].subSequence(0, textlength))) {
data_sort .add(data[i]);
}
}
search_listview .setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple, data_sort));
}
留言列表