在android上为textView spannable

Tweet o = tweets.get(position); TextView tt = (TextView) v.findViewById(R.id.toptext); //TextView bt = (TextView) v.findViewById(R.id.bottomtext); EditText bt =(EditText)findViewById(R.id.bottomtext); bt.setText(o.author); Spannable spn = (Spannable) bt.getText(); spn.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC) , 0, 100, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //bt.setText(o.author); tt.setText(o.content); 

我在我的Android应用程序中设置twitter数据。 我想使用Spannable使字体粗体和斜体,但它不起作用,给出一个错误。 我该怎么做?

Related of "在android上为textView spannable"

我想使字体粗体和ıtalicspannable

为此,您需要将o.content文本制作为SpannableString然后将其设置为TextView:

 SpannableString spannablecontent=new SpannableString(o.content.toString()); spannablecontent.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 0,spannablecontent.length(), 0); // set Text here tt.setText(spannablecontent); 

编辑:你也可以使用Html.fromHtml在textview中使文本粗体和斜体为:

 tt.setText(Html.fromHtml("<strong><em>"+o.content+"</em></strong>")); 

使用Html.fromHtml()方法创build一个bolditalic的简单方法来设置TextView

并使用html元素<b><i>

 myTextView.setText(Html.fromHtml("<b><i>my text bold and italic!</i></b>")); 

或html元素<strong><em>

  myTextView.setText(Html.fromHtml("<strong><em>my text bold and italic!</em></strong>"));