R.string 字符与CharSequence (工作记录)

Notification getProgressNotification(@StringRes int msgId) {
mProgressTracker.update(mProgressBuilder, (remainingTime) -> service.getString(msgId, FormatUtils.formatDuration(remainingTime)));
if(mProgressTracker.mRemainingTime>=1000000){
mProgressBuilder.setContentText();
}
return mProgressBuilder.build();
}
mProgressBuilder.setContentText();需要用到R.string中的字符用于各国语言适配
/**
* Set the second line of text in the platform notification template.
*/
@NonNull
public Builder setContentText(CharSequence text) {
mN.extras.putCharSequence(EXTRA_TEXT, safeCharSequence(text));
return this;
}v
其中

CharSequence本身是一个接口,在该接口中有如下方法:

获取指定索引的字符:public char charAt​(int index);
获取字符串长度:public int length​();
截取部分字符串:public CharSequence subSequence​(int start, int end);

我想将R.string中的字符应用到

setContentText()中
方法:
String str;
CharSequence cs;
str=String.valueOf((R.string.Copy_time_dean));
cs=str;
 if(mProgressTracker.mRemainingTime>=1000000){
mProgressBuilder.setContentText();
}
return mProgressBuilder.build(cs);

结果:显示了地址的数字此方法不生效.
使用service获取
Notification getProgressNotification(@StringRes int msgId) {
String str;
CharSequence cs;
str=service.getString(R.string.Copy_time_dean);
cs=str;
Log.w(TAG,"CS under =: "+cs);
mProgressTracker.update(mProgressBuilder, (remainingTime) -> service.getString(msgId, FormatUtils.formatDuration(remainingTime)));
if(mProgressTracker.mRemainingTime>=1000000){
mProgressBuilder.setContentText(cs);
Log.w(TAG,"CS in struct : "+cs);
}
return mProgressBuilder.build();
}
解决!!








posted @   一颗苹果!!  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示