只是个简单的问题:
你知道我为什么要这么做吗:
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);
文本有下划线。
我必须创建两个文本视图?
你知道另一个解决办法吗?
感谢您的帮助;)
最佳答案
我必须创建两个文本视图?
不。pnrContent + BookingSettings.getBookingSegment().substring(0, 6)
可能会返回一个String
,因为我相信+
操作符会将两边转换为String
对象,然后执行连接。因此,您将丢失格式。
相反,使用new SpannableString("PNR: "+ BookingSettings.getBookingSegment().substring(0, 6));
,并根据需要设置UnderlineSpan
的长度。