Reputation:
i have developed an application that contain one List view and one Edit Text for searching functionality in list view its work but my problem is i have about 4000 item in list view so when I am type in Edit Text its load with hang because i have lots of data so i want to implement like when m press enter key of key board then its search that specific word
my code of activity
list = (ListView) findViewById(R.id.listview);
list.setAdapter(adapter);
list.requestFocus();
editsearch = (EditText) findViewById(R.id.search);
editsearch.setSingleLine(true);
editsearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
String text = editsearch.getText().toString()
.toLowerCase(Locale.getDefault());
adapter.filterstd(text);
}
});
Upvotes: 1
Views: 250
Reputation: 12733
editsearch.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
String text = editsearch.getText().toString()
.toLowerCase(Locale.getDefault());
adapter.filterstd(text);
return true;
default:
break;
}
}
return false;
}
});
Upvotes: 1