0
    Spannable WordtoSpan;
TextView tvView;
public void btnStart(View v)
{
    tvView = (TextView)findViewById(R.id.tvTest);
    changeColorOfText("I know just how to whisper, And I know just how to cry,I know just where to find the answers.");

}
int sIndexOfWord;
int fIndexOfWord;
private void changeColorOfText(String sentences)
{
    String[] arrWords = sentences.split(" ");
    WordtoSpan = new SpannableString(sentences);

    int k = 1;
    for(String word : arrWords) {

        sIndexOfWord = sentences.indexOf(word);
        fIndexOfWord = sIndexOfWord + word.length();
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() { 
             public void run() { 
                WordtoSpan.setSpan(new BackgroundColorSpan(Color.YELLOW), sIndexOfWord, fIndexOfWord, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                tvView.setText(WordtoSpan); 
             } 
        }, 2000*k++);
    }

}

このコードは機能しません。文の最後のテキストに色を付けるだけです。handler.postDelayed メソッドで単語を 1 つずつ色付けするにはどうすればよいですか。

ありがとう。

4

2 に答える 2