5

如何xml使用 switch case 将搜索字符串中的两个字符串加粗。我想更改每个 xml 字符串textview,此更改将在按钮单击时进行

String strfistsearch=   mylist.get(7).get("data4"); 

          if(strfistsearch.equals(strfistsearch))
             {
       mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     View    convertView1 = mInflater.inflate(R.layout.first_screen,viewFlow);     

    TextView txtf = (TextView)convertView1.findViewById(R.id.textView11);
    String strfistsearch=   mylist.get(7).get("data4");    
       Log.v("strfistsearch", strfistsearch);                        


  SpannableStringBuilder sb = new SpannableStringBuilder(strfistsearch);
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text                                           sb.setSpan(bss, 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold                                      sb.setSpan(new ForegroundColorSpan(Color.RED), 0, 1, 0);
    txtf.setText(sb);
}
else  if(strfistsearch.equals(strfistsearch))
{
mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     View    convertView1 = mInflater.inflate(R.layout.second_screen,viewFlow);    

    TextView txtf = (TextView)convertView1.findViewById(R.id.textView11);
    String strfistsearch=   mylist.get(7).get("data4");    
       Log.v("strfistsearch", strfistsearch);                        
        SpannableStringBuilder sb = new SpannableStringBuilder(strfistsearch);                                      final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text                                       sb.setSpan(bss, 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold                                    sb.setSpan(new ForegroundColorSpan(Color.RED), 0, 1, 0);                                          txtf.setText(sb);
}

提前致谢...

4

1 回答 1

4

您需要 XmlPullParser 对象来执行此操作

mLayoutInflator = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

 XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
 factory.setNamespaceAware(true);
 XmlPullParser xpp = factory.newPullParser();
 xpp.setInput( new StringReader ( "xml string for layout" ) );

 mLayoutInflator.inflate(xpp, (ViewGroup)root); 
 // root can be layout in which your inserting inflated view
于 2012-10-18T12:32:14.660 回答