2

簡単な質問: なぜ私がそれを行うことができるか知っていますか:

pnrCode = (TextView)findViewById(R.id.pnr);
        SpannableString pnrContent = new SpannableString("PNR: ");
        pnrContent.setSpan(new UnderlineSpan(), 0, pnrContent.length(), 0);
        pnrCode.setText(pnrContent + BookingSettings.getBookingSegment().substring(0, 6));

テキストには下線が引かれていません。

一方、私がそれだけを行う場合:

  pnrCode = (TextView)findViewById(R.id.pnr);
            SpannableString pnrContent = new SpannableString("PNR: ");
            pnrContent.setSpan(new UnderlineSpan(), 0, pnrContent.length(), 0);
            pnrCode.setText(pnrContent);

テキストには下線が引かれます。

私は2つのテキストビューを作成する必要がありますか? 別の解決策を知っていますか?

どんな助けでも大歓迎です;)

4

1 に答える 1

7

私は2つのテキストビューを作成する必要がありますか?

いいえ。

pnrContent + BookingSettings.getBookingSegment().substring(0, 6)オペレーターが両側をオブジェクトに変換してから連結を実行するStringと私は信じているので、おそらくあなたに戻ってくるでしょう。したがって、書式設定が失われます。+String

代わりに を使用new SpannableString("PNR: "+ BookingSettings.getBookingSegment().substring(0, 6));し、必要に応じて の長さを設定UnderlineSpanします。

于 2012-01-28T16:58:09.863 に答える