如何通过 SearchView 或 EditText 在 android 中查找文本?

How to find text in android through a SearchView or EditText?

我是 Android 的新手,我正在制作一个应用程序,它有一个带有很长字符串的 TextView,我希望用户能够通过 SearchView 在 TextView 中搜索特定的词或编辑文本。我知道这是可能的,因为我在某些应用程序中看到过它,但找不到任何有关如何操作的示例。我读了一些关于 textwatcher 的东西,但不知道如何去做。我想要的是按 Ctrl + F 的方式工作:找到书面文字并找到应用 select 它。 像这样:

那么你能说明一下你想如何搜索文本吗?你只是想找到它是否存在?此外,您想通过在 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,您将不知道它是否存在。