2013-02-12 10 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); 

मैं अपने एंड्रॉइड एप्लिकेशन में ट्विटर डेटा सेट कर रहा हूं। मैं स्पैन करने योग्य का उपयोग करके फ़ॉन्ट बोल्ड और इटैलिक बनाना चाहता हूं लेकिन यह काम नहीं करता है, एक त्रुटि दे रहा है। मैं यह कैसे कर सकता हूं?टेक्स्ट के लिए एंड्रॉइड पर स्पैन करने योग्य

+0

यह अनपेक्षित रूप से त्रुटि को रोक दिया है। आम तौर पर कोड काम कर रहा है लेकिन मैं फ़ॉन्ट बोल्ड बनाना चाहता हूं। इस त्रुटि को समझता है। – baran

+0

कृपया अपवाद के साथ लॉगकैट आउटपुट पोस्ट करें। सबसे अधिक संभावना है कि आप पाठ अंत से परे अवधि को लागू करने का प्रयास कर रहे हैं - 100 – Asahi

+0

की बजाय वास्तविक लंबाई का उपयोग करें यह विधि उपयोगी हो सकती है https://stackoverflow.com/a/44255840/3496570 – Nepster

उत्तर

69

मैं फ़ॉन्ट बोल्ड और spannable

इस के लिए

साथ इटैलिक बनाना चाहते यू TextView के लिए यह रूप में सेट तो SpannableString रूप o.content पाठ करने की आवश्यकता होगी:

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 का भी उपयोग कर सकते हैं:

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

spannablecontent.setSpan (नया स्टाइलस्पैन (एंड्रॉइड। ग्राफिक्स। टाइपफेस। BOLD_ITALIC), 0, spannablecontent.length(), 0); – baran

+0

ıts मेरी problmm thnks – baran

+2

@baran हल करें: आप टेक्स्ट बोल्ड और इटालिक –

1

एक spannable पाठ bold और italic अपने TextView में स्थापित करने के लिए बनाने के लिए आसान तरीका विधि Html.fromHtml() उपयोग कर रहा है:

और 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>")); 
+0

क्यों -1? कोई कारण। – Jorgesys

संबंधित मुद्दे