仅从字体样式粗体替换字符

时间:2012-10-10 05:20:07

标签: android arraylist textview

我是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搜索字符串这是替换旧字符串,但我不想要这种类型替换。我只想要以粗体样式更改特定位置字符

2 个答案:

答案 0 :(得分:2)

<style name="boldText">
    <item name="android:textStyle">bold</item>

</style>

将此代码段粘贴到style.xml中,该文件位于布局下的valuse文件夹中。

txtf.setTextAppearance(this, R.style.boldText);

这行代码用于文本视图显示为粗体。

答案 1 :(得分:1)

使用跨度。然后,您可以指定字符串的部分并指定所需的任何格式或颜色。看看this。 编辑:澄清:使用跨度,您不会替换字符。使用一些字符串方法查找要更改为粗体的字符的位置,并在这些位置上创建一个范围,并为该范围指定粗体格式。