2013-02-12 6 views
29
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); 

Ich setze Twitter-Daten in meiner Android-Anwendung. Ich möchte die Schriftart mit Spannable fett und kursiv machen, aber es funktioniert nicht und gibt einen Fehler. Wie kann ich es tun?übersetzbar auf Android für TextView

+0

es gibt wurde unerwartet gestoppt Fehler. normalerweise Code funktioniert, aber ich möchte die Schriftart fett machen. Das ist ein Fehler. – baran

+0

pls post LogCat-Ausgabe mit der Ausnahme. Höchstwahrscheinlich versuchen Sie, die Spanne über das Textende hinaus zu verwenden - verwenden Sie die tatsächliche Länge anstelle von 100 – Asahi

+0

diese Methode kann hilfreich sein https://stackoverflow.com/a/44255840/3496570 – Nepster

Antwort

69

Ich möchte die Schrift fett und kursiv mit spannable

dafür machen u müssen o.content Text als SpannableString dann legen Sie es auf Textview machen:

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

EDIT : Sie können auch Html.fromHtml verwenden, um Text fett und kursiv in Textansicht zu erstellen als:

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

spannabletcontent.setSpan (neue StyleSpan (Android. graphics.Typeface.BOLD_ITALIC), 0, spannablecontent.length(), 0); – baran

+0

its lösen meine problmm thnks – baran

+2

@baran: Sie können 'Html.fromHtml' auch verwenden, um Text fett und kursiv zu machen –

1

Die einfache Möglichkeit, einen spannable Text bold und italic zu setzen in Ihrem TextView wird mit der Methode Html.fromHtml() zu erstellen:

und unter Verwendung der HTML-Elemente <b> und <i>

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

oder die HTML-Elemente <strong> und <em>

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

Warum -1? Jeder Grund. – Jorgesys