粗体样式的字符串匹配字符不会被搜索字符串替换

时间:2012-10-10 09:00:08

标签: android textview

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

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

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

![在此处输入图像说明] [4]

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

String 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然后我想在加入arraylist时加粗这些字符。 ArrayList字符串是18758,13660,52798,16514,70679。

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

1 个答案:

答案 0 :(得分:5)

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

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);