gpt4 book ai didi

java - 字符串数组中的Android粗体文本

转载 作者:行者123 更新时间:2023-11-29 05:22:10 24 4
gpt4 key购买 nike

我需要将字符串数组中的一些文本加粗,其中每个项目都在 ViewPager 中使用。我正在使用 getTextArray() 从 xml 文件中获取格式化文本,并且无法将其转换为能够在 ViewPager 中使用的 String

这是我最近尝试的,但它去掉了格式:

CharSequence[] arr = getResources().getTextArray(R.array.array);

String[] arrString = new String[arr.length];
int i=0;
for(CharSequence ch: arr){
arrString[i++] = ch.toString();
}

for (String s : arrString) {
mArrayList.add(s);

}

XML

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string-array name="array">
<item><b>bold text</b>|<i>italic text</i></item>
<item>Second Item</item>
<item>Thrid Item</item>
</string-array>
</resources>

ViewPager(如果相关)

ViewPager mViewPager;
ArrayList<String> mArrayList = new ArrayList<String>();
mViewPager = (ViewPager) findViewById(R.id.pager);
MyAdapter mAdapter = new MyAdapter(context, mArrayList);
mViewPager.setAdapter(mAdapter);

我很感激任何建议,谢谢

最佳答案

String对象不能包含嵌入式标记(即字体、颜色、样式)。当您使用此代码时:

for(CharSequence ch: arr){
arrString[i++] = ch.toString();
}

您正在丢失资源中包含的标记信息。

您应该简单地更改 Adapter收到ArrayList<CharSequence>相反,并将这些值直接放入 TextView(或适配器当前放置它们的任何位置)。

关于java - 字符串数组中的Android粗体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com