在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使字体粗体和斜体,但它不起作用,给出一个错误。 我该怎么做?

  • Twitter OAuth如何在Android中工作?
  • 如何突破Android中的Twitter应用内浏览器?
  • 在Twitter上与SHARE INTENT共享文本和图像的问题
  • Android:将TabLayout固定到Scrollview的顶部
  • 错误:无法解决:com.twitter.sdk.android:twitter:2.3.0 - Android Studio
  • 在Twitter Fabric上使用自定义登录按钮?
  • 如何使用Twitter 4j检索Twitter用户的名字
  • 如何强制Share Intent打开特定的应用程序?
  • 我想使字体粗体和ı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>"));