动态更改一行文字中某个文字时 有三种方法
1.使用TextView拼接........
/**
* 更新下载数目
* @param allnum
* @param loadednum
* @param loadingnum
*/
2使用一个textView然后代码中如下(之前是这么使用的)
public void updateDownloadNum(int allnum,int loadednum,int loadingnum ){
//String mNums = String.format(getResources().getString(R.string.download_num), allnum,loadednum,loadingnum);
String mNums = String.format("全部课程累计下载<b><font color='red'>%1$d</font></b>讲已下载%2$d讲下载中%3$d讲", allnum,loadednum,loadingnum);
// "Total downloaded is <font color='#ee0000'>%s</font> "
String allnumStr = String.valueOf(allnum);
String loadednumStr = String.valueOf(loadednum);
String loadingnumStr = String.valueOf(loadingnum);
SpannableStringBuilder mSpannableString=new SpannableStringBuilder(mNums);
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 8, 8+allnumStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 13+allnumStr.length()-1, 13+allnumStr.length()-1+loadednumStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 18+allnumStr.length()-1, 18+allnumStr.length()-1+loadednumStr.length()-1+loadingnumStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//mTvcource_all.setText(mSpannableString);
mTvcource_all.setText(Html.fromHtml(mNums));
}
3使用一个TextView然后代码如下(建议使用第三种,因为最简洁)
/**
* 更新下载数目
* @param allnum
* @param loadednum
* @param loadingnum
*/
public void updateDownloadNum(int allnum,int loadednum,int loadingnum ){
//String mNums = String.format(getResources().getString(R.string.download_num), allnum,loadednum,loadingnum);
String mNums = String.format("全部课程累计下载<b><font color='red'>%1$d</font></b>讲已下载%2$d讲下载中%3$d讲", allnum,loadednum,loadingnum);
mTvcource_all.setText(Html.fromHtml(mNums));
}