下面一段代码,如何给不同的分段以不同的颜色HashMap<String, String[]> data = jgjg.jg_data; menu1 = jgjg.namemes; for (String name : menu1) { String message = ""; int n = 1; for (String i:data.get(name)){ message = message+n+"."+i+"\n\n"; n++; } fragmentList.add(FragmentJiaoBanDay0.newInstance(name, message)); }
时间: 2024-02-10 10:13:53 浏览: 174
你可以为每个分段创建一个不同的 SpannableStringBuilder 对象,并为不同的 SpannableStringBuilder 对象设置不同的颜色。具体实现方式如下:
```
HashMap<String, String[]> data = jgjg.jg_data;
menu1 = jgjg.namemes;
for (String name : menu1) {
String message = "";
int n = 1;
SpannableStringBuilder builder = new SpannableStringBuilder();
for (String i:data.get(name)){
SpannableString spannableString = new SpannableString(n+"."+i+"\n\n");
spannableString.setSpan(new ForegroundColorSpan(Color.RED), 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(spannableString);
n++;
}
fragmentList.add(FragmentJiaoBanDay0.newInstance(name, builder));
}
```
在上面的代码中,我们为每个分段创建了一个 SpannableStringBuilder 对象,并在内部循环中为每行文本创建了一个 SpannableString 对象,并将其添加到 SpannableStringBuilder 中。我们还使用 setSpan() 方法为每个 SpannableString 对象设置了前景色(即文本颜色)。在这里,我们将第一个 SpannableString 对象的前景色设置为红色。你可以根据需要更改前景色。最后,我们将生成的 SpannableStringBuilder 对象传递给 FragmentJiaoBanDay0 的实例作为参数。
阅读全文