SpannableString的setSpan报错java.lang.IndexOutOfBoundsException

报错信息
java.lang.IndexOutOfBoundsException: setSpan (44 ... 49) ends beyond length 48
分析和解决
int start1 = 15;
int end1 = start1 + nickName.length();
int start2 = 28 + nickName.length();
int end2 = start2 + desc.length();


11-07 16:33:54.468 12882-12882/com.luckdeal.flash E/flash_com.luckdeal.flash.widget.custom.DetailDescView: [第73行] - desc--If no new bids,Roonish will win at $6.40
11-07 16:33:54.468 12882-12882/com.luckdeal.flash W/System.err: java.lang.IndexOutOfBoundsException: setSpan (35 ... 41) ends beyond length 40

怎么计算这个开始和结尾
1、复制If no new bids,%1$s will win at %2$s到notepad++中,鼠标选中“If no new bids,”这部分长度为15,作为开始;
2、复制If no new bids,%1$s will win at %2$s到notepad++中,去掉“%1$s”,鼠标选中剩下部分长度为2828+nickName.length()作为开始;

你可能感兴趣的:(Android)