/(.*)<FooBar>/s
s вызывает Dot (.) для соответствия возврату каретки
Он остается видимым, потому что searchusersedittext
всегда не является нулевым в этом вызове (если он был нулевым, предыдущий вызов searchusersedittext.addTextChangedListener
потерпел неудачу с NullPointerException
), поэтому, как только вы вводите что-либо вообще, в первый случай каждый раз (сохраняя его видимым).
Также searchusersedittext.equals("")
не проверяет пустую запись в EditText, так как searchusersedittext
является объектом EditText, а не введенной строкой. Объект EditText продолжает существовать, даже если в нем нет текста.
Попробуйте что-то вроде этого:
@Override
public void afterTextChanged(Editable s) {
String txt = searchusersedittext.getText().toString();
// or String txt = s.toString();
if( !txt.isEmpty() ) {
recyclerViews.setVisibility(View.VISIBLE);
filter(txt);
}
else {
recyclerViews.setVisibility(View.INVISIBLE);
}
}