2

我有一个搜索字符串,我需要将搜索字符串字符替换为具有粗体样式的不同 textview 字符串。下面可能代码:

![加载数组的第一个屏幕][1] ![在数组中搜索字符串][2] ![用搜索字符串替换所有字符串 textview][3]

我不想替换所有 textview 字符串,因为我只希望从不同 textview 字符串的位置加粗特定字符。

![在此处输入图像描述][4]

我希望这种格式替换粗体样式。

字符串 strlottery="17659";

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);
TextView txt3 = (TextView) findViewById(R.id.textView17);

String str=strlottery.replaceAll("1", "<font size=\"16\" color=\"red\"><b>"+"1"+"</b><</font>");                       
Log.v("Search", str);
Spanned text = Html.fromHtml(str);
txtf.setText(text);
txtS.setText(text);
txtT.setText(text);
txt1.setText(text);
txt2.setText(text);
txt3.setText(text);

这是我的搜索字符串,我想在数组列表中搜索这个字符串,然后我想在进入数组列表时加粗这些字符。ArrayList 字符串为 18758,13660,52798,16514,70679。

但这是用匹配字符粗体样式的 17659 字符串替换所有 Textview 字符串。1879 搜索字符串这是替换旧字符串,但我不希望这种类型替换。我只希望以粗体样式更改特定位置字符

4

1 回答 1

6

以下是执行此操作的方法..定义文本的开始和结束并对部分文本执行操作.....干杯!!!!!!!!!

TextView myText = (TextView) findViewById(R.id.scoreboardtitle);
    SpannableString text = new SpannableString("Top Scores");  
    // make "Lorem" (characters 0 to 5) red  
    text.setSpan(new ForegroundColorSpan(Color.RED), 0, 4, 0);
    text.setSpan(new ForegroundColorSpan(Color.rgb(0, 255, 0)), 4, text.length(), 0);
    text.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    myText.setText(text, BufferType.SPANNABLE);
于 2012-10-10T09:03:49.760 回答