我是android的新手,我正试图在arraylist字符串中的特定字符处替换粗体样式的字符。我正在做的是:
String myName = "76492";
这是我的搜索字符串,我想将此字符串搜索到arraylist,然后我想在获取arraylist.Arraylist
字符串时加粗这些字符是78758,3660,56798,6514,90679。
TextView txtf = (TextView)findViewById(R.id.textView4);
TextView txtS = (TextView) findViewById(R.id.textView5);
TextView txtT = (TextView)findViewById(R.id.textView6);
TextView txt1 = (TextView) findViewById(R.id.textView9);
TextView txt2 = (TextView) findViewById(R.id.textView13);
String str= myName.replaceAll("6", "<b>6</b>");
Spanned text = Html.fromHtml(str);
txtf.setText(text);
txtS.setText(text);
txtT.setText(text);
txt1.setText(text);
txt2.setText(text);
但这是用匹配字符粗体样式的 76492 字符串替换所有Textview
字符串。 1879搜索字符串这是替换旧字符串,但我不想要这种类型替换。我只想要以粗体样式更改特定位置字符
答案 0 :(得分:2)
<style name="boldText">
<item name="android:textStyle">bold</item>
</style>
将此代码段粘贴到style.xml中,该文件位于布局下的valuse文件夹中。
txtf.setTextAppearance(this, R.style.boldText);
这行代码用于文本视图显示为粗体。
答案 1 :(得分:1)
使用跨度。然后,您可以指定字符串的部分并指定所需的任何格式或颜色。看看this。 编辑:澄清:使用跨度,您不会替换字符。使用一些字符串方法查找要更改为粗体的字符的位置,并在这些位置上创建一个范围,并为该范围指定粗体格式。