2017-03-04 59 views
0

有人能幫助我嗎?我有以下問題:如何去TextView中搜索到的單詞 - Android

我有一個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); 

現在,我有一個問題,因爲文本太長查看所有搜索結果。我希望我有一個'後退'和'下一個'按鈕,如果我點擊下一個按鈕,並且所找到的單詞自動轉到顯示的屏幕,則視圖會轉到下一個結果。

有誰知道如何編碼?

這非常重要。感謝幫助!

+0

將創建的文本保存到數組。你可以粘貼Next/Back按鈕的功能嗎? –

+0

感謝您的幫助。你能告訴我如何在答案中編碼嗎? – android

回答

1

下一個&返回功能很重要。粘貼它。但你可以節省創建文本數組,然後調用I + 1爲下和i-1回

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

在首屆展會markiert [0]和下次通話markiert [0 + 1],然後markiert [N + 1]

+0

你能告訴我如何完全重寫代碼,因爲它不起作用。非常感謝! – android

+0

@android檢查它,並希望它適合你 –

+0

非常感謝。我稍後再試。 – android

相關問題