Эй, ребята, мне нужна моя функция поиска, чтобы действовать как контакты. Я извлекаю список участников с сервера, и я перестраиваю его, когда пользователь выполняет поиск, чтобы получить результаты. Гувер, я могу заставить его работать, когда они вводят свое полное имя. Позвольте мне показать вам мой код. Я попробовал много комбинаций. Есть идеи? Это приложение для пожертвований для альянса с голодом ребенка. =]onTextChanged, не могу заставить его работать правильно
это только в цикле, чтобы добавить каждое имя FYI
if (searchQ.contains(child.first_name.toLowerCase())
|| searchQ.matches(child.last_name.toLowerCase()) {
id = child.id;
addChildToList(child);
}
if (searchQ.matches("")){
addChildToList(child);
}
вот мой textwatcher
public void searchChild(){
final EditText ET = (EditText) findViewById(R.id.search);
// create the TextWatcher
TextWatcher textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// Rebuilds the list
String searchQ = ET.getText().toString();
getChildrenListSearch(searchQ);
}
@Override
public void afterTextChanged(Editable editable) {
// Remove rows that do no match
TableLayout tl = (TableLayout)findViewById(R.id.childList);
tl.removeAllViews();
}
};
//we must add the textWatcher to our EditText
ET.addTextChangedListener(textWatcher);
}
это ломается у ребенка ... доза не работает вообще – NightSkyCode
какая ошибка дает вам? Также вы понимаете, почему это должно быть так? вы ищете, чтобы поисковый запрос частично соответствовал имени ребенка, а не наоборот. –
nvm ваш cbode работал нормально, просто пришлось переключить несколько вещей, и я не смотрел на него таким образом! Я вижу сейчас! Есть ли способ, чтобы он был равенIgnoreCase и содержит в то же время, если я не буду писать другую функцию? – NightSkyCode