2016-06-24 5 views
1

私はtextArea内の単語を検索するコードを書いています。ここにはコードがあります:特定のテキストを選択するにはスクロールでTextAreaで

else if(str.equals("Find Next")) 
{ 
    if(ta.getText().length()!=0 && t1.getText().length()!=0) 
    { 
     int n = ta.getText().trim().indexOf(t1.getText().trim()); 
     ta.select(n,t1.getText().length()); 
    } 
} 

参考のために、taはtexareaであり、t1はユーザが検索する単語を入力するTextFieldです。私の問題は、このような文字列を書くときです。彼は良い少年です。そして、良い、良い、良いは選択されていませんが、私は "彼"を検索すると、彼が選択されます。私が基本的に言いたいのは、textFieldに文字列の最初の単語を入力すると、それが検索され選択されますが、他の単語を入力すると選択されません。どこが間違っているの?

+1

最初の単語を検索する方法をお探しですか? –

+0

いいえ、私は文字列内の単語を検索するために探しています –

+0

申し訳ありません兄弟、私は間違ってやっているものを得た –

答えて

0

問題は、selectの2番目の引数がStringの終了インデックスでなければならないということです。これはサイズではなく、場所です。あなたが提供したコードは、nが0なのでStringの冒頭に機能するので、あなたの位置とあなたのサイズは同じになります。私たちは何も変わっていないしました(文字列の先頭の)作業の場合

ta.select(n,n + t1.getText().length()); 

、N = 0:私はあなたがあなたの最後の行を変更することで、あなたの問題を解決することができると思います。動作していない場合は、この余分な "n +"を使用して、終了する必要がある場所に移動します。

+0

うん、私はそれを理解しました。しかし、ありがとう! –

関連する問題