【问题标题】:How to find text in android through a SearchView or EditText?如何通过 SearchView 或 EditText 在 android 中查找文本?
【发布时间】:2015-04-23 14:24:05
【问题描述】:

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

【问题讨论】:

    标签: android textview find searchview textwatcher


    【解决方案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 的真假,你不会知道它是否存在。

    【讨论】:

    • 谢谢,这行得通。但也想突出显示单词,就像“ctrl + f”一样。
    猜你喜欢
    • 1970-01-01
    • 2011-08-07
    • 2014-10-09
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    相关资源
    最近更新 更多