0
私はeditTextと検索ボタンを持っていますが、今は最初の結果を示しています。scrollviewで検索を行い、次のindexOfを取得する方法は?
しかし、もう一度検索ボタンを押してから次のindexOfを表示したいと思っています。これどうやってするの ?あなたがそれに続くを通じてサイクルに必要がある場合は :
int i = mTextCurrentArticle.toLowerCase().indexOf(search.toLowerCase().trim());
int nextPosition = mTextCurrentArticle.toLowerCase().indexOf(search.toLowerCase().trim(), i+1);
EDIT:あなたが検索のための開始インデックスを取るindexOf
のオーバーロードされたバージョンを使用して、次のように元のインデックスを渡すことができ
public void searchMethod(final String search) {
int i = mTextCurrentArticle.toLowerCase().indexOf(search.toLowerCase().trim());
if (i == -1) {
mEditTextSearch.setTextColor(Color.RED);
// String cap = search.substring(0, 1).toUpperCase() + search.substring(1);
//i = mTextCurrentArticle.indexOf(cap);
} else {
mEditTextSearch.setTextColor(Color.BLACK);
}
// int line = mTextViewCurrentArticle.getLayout().getLineForOffset(i);
Layout layout = mTextViewCurrentArticle.getLayout();
mScrollView.scrollTo(0, layout.getLineTop(layout.getLineForOffset(i)));
うん呼び出されたときに次の位置を与えることを感謝を保証します!しかし、私はすでにそれを理解しました。問題は、ボタンを次にクリックして使用する方法です。私はすでに、クリックごとに増加するIntを作成しようとしましたが、望みどおりに機能しませんでした。 –
@ Vojb-私の更新された回答を確認してください – akash93
ありがとうございました!それは完璧に働いた! –