I have an edittext with textwatcher
selectedValue.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void afterTextChanged(Editable s) {
if (!selectedAssetType.equals(OrderBookTypes.MUTUAL_FUND_TYPE)) {
loadSearchFilterData();
}
}
});
Here loadSearchFilterData() is as follows
private void loadSearchFilterData() {
if (!selectedValue.getText().toString().isEmpty()) {
String s = selectedValue.getText().toString();
List<BoOrderBookDao> filterList = new ArrayList<>();
for (int i = 0; i < sortedFilteredList.size(); i++) {
if (sortedFilteredList.get(i).getDpVal().toLowerCase().contains(s.toLowerCase())) {
filterList.add(sortedFilteredList.get(i));
}
}
orderBookModel.clear();
orderBookModel.addAll(filterList);
} else {
orderBookModel.clear();
orderBookModel.addAll(sortedFilteredList);
}
if (orderBookModel.size() == 0) {
setErrorMsg(mContext.getResources().getString(R.string.no_data_available_txt));
} else {
itemListLayout.setVisibility(View.VISIBLE);
errorScrollview.setVisibility(View.GONE);
}
if (orderAdapter != null) {
orderAdapter.requestType = requestType;
orderAdapter.notifyDataSetChanged();
}
}
But now typing in edittext does not work. If I comment orderBookModel.addAll(sortedFilteredList);
this line then it works