lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);
//Связываем данные массива с элементом ListView:
adapter = new ArrayAdapter(this, R.layout.list_item, R.id.product_name, words);
lv.setAdapter(adapter);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
//Когда пользователь вводит какой-нибудь текст:
MainActivity.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
}
});
}
}
Если запустить приложение сейчас, то у нас есть и список и строка поиска, но пока что ввод каких либо знаков в поле поиска не дает никаких результатов. Это нужно исправить. Для этого необходимо добавить addTextChangedListener элементу EditText. Введенные пользователем данные будут передаваться в адаптер и фильтровать список отображаемых элементов:
Ну и на конец, остается добавить в файл манифест AndroidManifest.xml настройку, скрывающую пр запуске приложения клавиатуру, потому что сейчас, если вы запускаете приложение, то в нем по умолчанию запускается клавиатура для ввода данных в EditText.
Открываем AndroidManifest.xml и добавляем туда строку:
android:windowSoftInputMode="stateHidden"
Данный код нужно поместить в теге :
android:windowSoftInputMode="stateHidden">
Do'stlaringiz bilan baham: |