надеялся, что вы сможете помочь мне с проблемой, с которой я столкнулся. У меня есть просмотр списка, который фильтруется в поле ввода. Я полагал, что он будет фильтровать, основываясь на тексте в тексте редактирования, через любую часть текста в просмотре списка. Поэтому, если у меня есть три элемента в списке: «Кекс», «Пончик», «Эклер» и «Фройо», и я набрал «cl», он ничего не вернет ... но если бы я набрал «ecl» ", это вернуло бы" Эклер ". Извините, если я сформулировал это ужасно ... это немного сложно объяснить. Вот мой код:
private EditText ed;
private String lv_arr[]={"Cupcake","Donut","Eclair","Froyo"};
ArrayAdapter<String> arrad;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
ed = (EditText) findViewById(R.id.edit);
ListView list = (ListView) findViewById(R.id.listviewtest);
arrad = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr);
list.setAdapter(arrad);
list.setTextFilterEnabled(true);
ed.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged( CharSequence arg0, int arg1, int arg2, int arg3) {
SearchByName.this.arrad.getFilter().filter(arg0);
}
@Override
public void beforeTextChanged( CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void afterTextChanged( Editable arg0) {
}
});
}