Я пытаюсь понять, как я могу игнорировать все специальные символы и числа при поиске через ArrayList с помощью Edittext.Игнорирование символов при поиске ArrayList с Edittext
Вот пример:
Один из пунктов в моем ArrayList называется «00 - Bar 9», я хочу сделать так, чтобы при вводе в «Ба» отображается в моем ListView. С кодом, который у меня есть, он не отображается, потому что мне нужно ввести «00» для начала.
Я не уверен, что мне нужно сделать, чтобы быть в состоянии сделать это? Спасибо
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
// When user changed the Text
hasinputtext = true;
temp = new ArrayList<String>();
int textlength = search.getText().length();
temp.clear();
for (int i = 0; i < songs.size(); i++) {
if (textlength <= songs.get(i).length()) {
if (search
.getText()
.toString()
.equalsIgnoreCase(
(String) songs.get(i).subSequence(0,
textlength))) {
temp.add(songs.get(i));
}
}
}
getListView().setAdapter(
new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, temp));
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
вместо '.equalsIgnoreCase() 'use' (String) songs.get (i) .toLower(). содержит (search.toLower())) ' – Dreagen