Java 字符串数组中的Android粗体文本
我需要在字符串数组中加粗一些文本,其中每个项目都在ViewPager中使用。我正在使用Java 字符串数组中的Android粗体文本,java,android,android-viewpager,arrays,Java,Android,Android Viewpager,Arrays,我需要在字符串数组中加粗一些文本,其中每个项目都在ViewPager中使用。我正在使用getTextArray()从xml文件中获取格式化文本,但无法将其转换为字符串,以便在ViewPager中使用 这是我最近尝试的,但它去掉了格式: CharSequence[] arr = getResources().getTextArray(R.array.array); String[] arrString = new String[arr.length]; int i=0; for(CharSequ
getTextArray()
从xml文件中获取格式化文本,但无法将其转换为字符串,以便在ViewPager中使用
这是我最近尝试的,但它去掉了格式:
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 mViewPager;
ArrayList<String> mArrayList = new ArrayList<String>();
mViewPager = (ViewPager) findViewById(R.id.pager);
MyAdapter mAdapter = new MyAdapter(context, mArrayList);
mViewPager.setAdapter(mAdapter);
ViewPager mViewPager;
ArrayList mArrayList=新建ArrayList();
mViewPager=(ViewPager)findViewById(R.id.pager);
MyAdapter mAdapter=新的MyAdapter(上下文,婚姻列表);
mViewPager.setAdapter(mAdapter);
非常感谢您的建议,谢谢String
对象不能包含嵌入式标记(即字体、颜色、样式)。使用此代码时:
for(CharSequence ch: arr){
arrString[i++] = ch.toString();
}
您正在丢失资源中包含的标记信息
您只需更改适配器
即可接收数组列表
,并将这些值直接放入文本视图中(或适配器当前放置它们的位置)。为什么不让适配器接收一个数组列表
,而不是数组列表
,这样就行了。我以前试过,但这次我能让其他一切正常工作,非常感谢!不确定是否有办法删除一个问题..我会写一个简短的答案,然后你可以接受:)