Я новичок в Android, и я делаю приложение, которое имеет TextView с очень длинной строкой, и я хочу, чтобы пользователь мог искать определенное слово в TextView через SearchView или EditText. Я знаю, что это возможно, потому что я видел это в некоторых приложениях, но не могу найти примеров того, как это сделать. Я кое-что читал о textwatcher, но не как это сделать. Что я хочу, так это работать как Ctrl + F: найти написанное слово и выбрать его приложением. Что-то вроде этого:
Как найти текст в андроиде через SearchView или EditText?
Ответы (1)
Хорошо, вы уточните, как вы хотели искать текст? Вы просто хотите найти то, что есть или нет? и кроме того, вы хотите искать, вводя каждую букву в EditText?
если вы просто хотите сделать оба вышеперечисленных трюка, как показано ниже:
boolean hasText=false;
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count > 0 && (s.charAt(0) != '1')) {
hasText=textView.getText().toString().contains(s.toString());
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
Проверяя hasText true или false, вы не узнаете, есть он или нет.
person
raggedycoder
schedule
23.04.2015
Спасибо, это работает. но также хочу выделить слова, как это делает ctrl + f.
- person Pablo Villar; 23.04.2015