Как правильно использовать прослушиватель изменения текста в android?

/(.*)<FooBar>/s

s вызывает Dot (.) для соответствия возврату каретки

0
задан Sazzadur Rahaman 13 July 2018 в 19:17
поделиться

1 ответ

Он остается видимым, потому что 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);
    }
}
0
ответ дан Tyler V 17 August 2018 в 12:20
поделиться
  • 1
    это выглядит многообещающим. плохо определенно попробуй это. в любом случае, спасибо :) – Catherine Villafuerte 14 July 2018 в 06:24
Другие вопросы по тегам:

Похожие вопросы: