1
String aux = getInserzionista(offerta.getIdInserzionista());

    sotto_titolo.setText("Offerta dal " + aux);

    int inizio = 12;
    int fine = 11+aux.length();

    sotto_titolo.setMovementMethod(LinkMovementMethod.getInstance());

    sotto_titolo.setText(sotto_titolo.getText().toString(),BufferType.SPANNABLE);

    Spannable mySpannable = (Spannable) sotto_titolo.getText();

    ClickableSpan myClickableSpan = new ClickableSpan() {
       @Override
       public void onClick(View widget) {

       }
    };

//if i put this, not work
mySpannable.setSpan(new ForegroundColorSpan(Color.RED), inizio, fine, 0);
mySpannable.setSpan(myClickableSpan, inizio, fine + 1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

結果

しかし、私がこれを置くと:

mySpannable.setSpan(new ForegroundColorSpan(Color.RED), 0, 4, 0);

0から4までのテキストが色付けされているので、機能します。

結果

だから、私の質問は:

リンクの色(青色で下線が引かれているもの)を変更するにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

この行 mySpannable.setSpan(new ForegroundColorSpan(Color.RED), 0, 4, 0); で静的な値 4 を設定したためです。4 の代わりにテキストの長さを設定します。

于 2012-10-16T07:23:03.733 に答える
0

updateDrawState() を使用してみましたか?

于 2012-07-18T18:08:32.090 に答える