如何在TextView中搜索单词 - Android

时间:2017-03-04 13:29:33

标签: android search android-edittext textview

有人能帮助我吗?我有以下问题:

我有一个TextView,我可以搜索一些单词,以便它们被标记。

TextView被命名为textView,它显示文本,我有一个EditText Etxt来获取搜索到的单词和一个Button来开始搜索。上面的代码是搜索的代码。该应用程序将所有找到的单词标记为大而斜体。我有一个TextView text_total,显示找到的单词数。

问题:但如果在显示的屏幕下方的文本中有搜索词,则必须滚动并找到标记的词:

int total = 0;
String word_search = Etxt.getText().toString().trim().toLowerCase();
String fullTxt = textView.getText().toString();
String[] array = fullTxt.split("\n");
String word;
StringBuilder st = new StringBuilder();
for (int i = 0; i < array.length; i++) {
    word = array[i];
    if (word.toLowerCase().contains(word_search)) {
        String markiert = word.trim();
        st.append("<b><i>" + markiert + "</i></b>");
        total++;
    } else {
        st.append(word);
    }
    st.append("<br>");
}
textView.setText(Html.fromHtml("" + st));
text_total.setText("Ergebnisse: " + total);

现在,我遇到了问题,因为文字太长,无法查看所有搜索结果。我希望我有一个&#39;回归&#39;和下一个&#39;如果我单击下一个按钮并且找到的单词自动进入显示的屏幕,则按钮和视图将转到下一个结果。

有谁知道如何编码?

这非常重要。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

下一个&amp;后退功能很重要。粘贴它。但你可以保存已创建的文本数组,然后调用i + 1代表next,i-1代表back

SELECT DISTINCT private_messages.*,
                            users.ID AS userID,
                            users.username AS username,
                            profiles.img_url AS profileImage
                            FROM private_messages
                            INNER JOIN users ON users.username = private_messages.receiver
                            INNER JOIN profiles ON profiles.userID = users.ID
                        WHERE private_messages.sender ='Admin'
                        AND  private_messages.id IN  ( select max(ID) 
                        FROM private_messages GROUP BY sender 
                )                
                ORDER BY private_messages.sent_at DESC 

在First Show markiert [0] 和Next call markiert [0 + 1]然后 markiert [N + 1]