- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有两个字符串资源:
<string name="give_us_feedback">Give us feedback at %1$s if you want to make the app even better!</string>
<string name="email">info@mycompany.com</string>
我想将电子邮件部分的样式设置为蓝色并加下划线以指示用户可以单击它(整个 TextView,而不仅仅是电子邮件文本)。我知道使用 SpannableString 为文本着色,但是当我通过 getString(int resId, Object... formatArgs) 组合两个字符串时它似乎不起作用,大概是因为 getString() 将执行强制转换或 .toString () 在被发送的对象上。这是不起作用的:
TextView emailTV = new TextView(this);
SpannableString email = new SpannableString(getString(R.string.email));
email.setSpan(new UnderlineSpan(), 0, email.length() - 1, 0);
email.setSpan(new ForegroundColorSpan(Color.BLUE), 0, email.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
String feedback = getString(R.string.give_us_feedback, email);
emailTV.setText(feedback);
有什么想法吗?
最佳答案
这有点棘手。转换回字符序列 (String feedback = getString(R.string.give_us_feedback, email);
) 使 Spannable
消失。尝试这种方式(您想检查字符串中的正确索引)
String emailString = getString(R.string.email);
String feedback = getString(R.string.give_us_feedback, emailString);
SpannableString email = new SpannableString(feedback);
int startIndex = feedBack.indexOf(emailString);
int endIndex = startIndex + emailString.length();
email.setSpan(new UnderlineSpan(), startIndex, endIndex, 0);
email.setSpan(new ForegroundColorSpan(Color.BLUE), startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
emailTV.setText(email);
关于android - getString(int resId, Object... formatArgs) 方法中参数的样式文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23674678/
我有这样的复数字符串设置: %동영상 %d개 %사진 %d개 我收到以下异常消息: java.util.UnknownForma
我有两个字符串资源: Give us feedback at %1$s if you want to make the app even better! info@mycompany.com 我想将
我正在为我的 React Native 项目使用 React Native Firebase。最近我更新了 RNFirebase 和 Pod,现在当我尝试构建应用程序时会出现此错误。 如果我从 Pod
我是一名优秀的程序员,十分优秀!