Я хочу реагировать на то, что пользователь печатает внутри EditText
, поэтому я использовал метод addTextChangedListener
. Когда пользователь вводит один символ, запускается код onTextChanged
, и все в порядке. Так что если, например, пользователь введет «a», тогда onTextChanged
начнет запускаться.
Но если пользователь вводит другой символ, например b , onTextChanged не вызывается.
(текст в EditText теперь должен быть "ab")
Код:
et = (EditText)findViewById(R.id.edittextsearch);
et.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s){}
public void beforeTextChanged(CharSequence s, int start, int count,int after){}
public void onTextChanged(CharSequence s, int start, int before,int count)
{
int i = 0;
textlength=et.getText().length();
arr_sort.clear();
for(i=0;i<3;i++)
{
if(textlength<=your_array_contents[i].length())
{
if(et.getText().toString().equalsIgnoreCase((String) your_array_contents[i].subSequence(0, textlength)))
{
arr_sort.add(your_array_contents[i]);
}
}
}
lv.setAdapter(new ArrayAdapter<String>(GroupsActivity.this,
android.R.layout.simple_list_item_multiple_choice, arr_sort));
}
});
Помощь приветствуется!