मेरे पास Spannable Object
है जिसमें Clickable Object
सेट है। Spannable String
TextView
में प्रदर्शित होता है, इसमें नीली पाठ और नीली रेखा रेखा होती है (यह दर्शाता है कि यह टेक्स्ट क्लिक करने योग्य है)। मेरी समस्या यह है कि मैं TextView
में नीली रेखांकन को कैसे रोक सकता हूं?एक क्लिक करने योग्य ऑब्जेक्ट के साथ स्पैन करने योग्य स्ट्रिंग में अंडरलाइन से कैसे छुटकारा पाएं?
उत्तर
नीचे कोड का प्रयोग करें और कोशिश ClickableSpan वर्ग
String mystring =" Hello";
SpannableString ss= new SpannableString(mystring);
ss.setSpan(new MyClickableSpan(mystring), 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
class MyClickableSpan extends ClickableSpan{// extend ClickableSpan
String clicked;
public MyClickableSpan(String string) {
// TODO Auto-generated constructor stub
super();
clicked =string;
}
public void onClick(View tv) {
Toast.makeText(MainActivity.this,clicked ,
Toast.LENGTH_SHORT).show();
}
public void updateDrawState(TextPaint ds) {// override updateDrawState
ds.setUnderlineText(false); // set to false to remove underline
}
की
String mystring =" Hello";
SpannableString ss= new SpannableString(mystring);
ss.setSpan(new MyClickableSpan(mystring), 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
class MyClickableSpan extends ClickableSpan{// extend ClickableSpan
String clicked;
public MyClickableSpan(String string) {
super();
clicked = string;
}
public void onClick(View tv) {
Toast.makeText(MainActivity.this,clicked , Toast.LENGTH_SHORT).show();
}
public void updateDrawState(TextPaint ds) {// override updateDrawState
ds.setUnderlineText(false); // set to false to remove underline
}
}
spannableStringObject.toString();
संपादित
SpannableString ss = getYourSpannableString();
UnderlineSpan[] uspans = ss.getSpans(0, ss.length(), UnderlineSpan.class);
for (UnderlineSpan us : uspans) {
ss.removeSpan(us);
}
Spannable से सभी UnderlineSpans हटा देंगे।
बस ऊपर जवाब करने की कोशिश की है, यह काम करता है, लेकिन मेरे क्लिक करने योग्य वस्तु अब काम नहीं करता है? – Ash
@ एश मुझे नहीं पता कि इसका क्या अर्थ है .. आप अपने प्रश्न में थोड़ा और पृष्ठभूमि और संदर्भ क्यों नहीं देते हैं। – dcow
टूस्ट्रिंग स्पैनबलस्टिंग द्वारा वर्णित वर्णों को लौटाता है क्योंकि स्पैनेबलस्ट्रिंग कैरेक्टरसक्वेंस लागू करता है। जो मैंने ऊपर दिखाया है वह स्पैन करने योग्य स्ट्रिंग से सभी स्वरूपण को हटा देगा। – dcow
अवहेलना updateDrawState विधि spannable स्ट्रिंग
SpannableString ss = new SpannableString("android Stack Overflow");
ForegroundColorSpan fcs=newForegroundColorSpan(Color.parseColor("#01579B"));
ss.setSpan(fcs, 8,13, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
रघुनंदन का जवाब मेरे लिए पूरी तरह से काम करता है का रंग बदलने के लिए।
public abstract class NoUnderlineClickableSpan extends ClickableSpan {
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false);
}
}
Try the below code to remove underlined and clicked event on multiple words in textview :
String str="Angelina Clapped For Lester Kang";
Spannable span = Spannable.Factory.getInstance().newSpannable(str);
// 0 to 8 start and index of Angelina
span.setSpan(new ClickableSpan(str), 0, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// 21 to 32 start and index of Lester Kang
span.setSpan(new ClickableSpan(str), 21, 32, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textview.setText(span);
class ClickableSpan extends ClickableSpan{
String clicked;
public ClickableSpan (String string) {
super();
}
public void onClick(View v) {
Toast.makeText(MyActivity.this,""+((TextView)v).getText().toString(),Toast.LENGTH_SHORT).show();
}
public void updateDrawState(TextPaint ds) {
// override updateDrawState
ds.setUnderlineText(false); // set to false to remove underline
}
}
यह मेरे लिए काम करता है: यहां इसके बारे में एक मुकाबले डाउन संस्करण है। कस्टम ClickableSpan
कक्षा बनाने की कोई आवश्यकता नहीं है। बस updateDrawState(TextPaint ds)
ओवरराइड करें।
SpannableString span = new SpannableString("Some text");
ClickableSpan clickSpan = new ClickableSpan() {
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor); // you can use custom color
ds.setUnderlineText(false); // this remove the underline
}
@Override
public void onClick(View textView) {
// handle click event
}
};
span.setSpan(clickSpan, 5, span.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
yourTextView.setText(span);
चिकनाई समाधान – ulusoyca
सबसे आसान तरीका
string1 = new SpannableString("By Tapping Register You Agree To The \nTerms And Conditions");
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(getApplicationContext(),"clicked",Toast.LENGTH_SHORT).show();
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false); // this line removes underline
}
};
text_terms.setMovementMethod(LinkMovementMethod.getInstance());
string1.setSpan(clickableSpan,37,string1.length(),0);
text_terms.setText(string1);
- 1. स्पैन करने योग्य CharSequence
- 2. क्या स्पैन और स्पैन करने योग्य टेक्स्ट
- 3. घातक अपवाद: स्ट्रिंग को स्पैन करने योग्य
- 4. एक स्पैन करने योग्य स्ट्रिंग को एक साधारण टेक्स्टव्यू
- 5. क्लिक करने योग्य यूआरएल?
- 6. 'फोकस करने योग्य' और 'क्लिक करने योग्य'
- 7. एक टीडी क्लिक करने योग्य
- 8. बहु स्पैन करने योग्य टेक्स्ट कैसे बनाएं?
- 9. क्लिक करने योग्य लेबल
- 10. क्लिक करने योग्य छवि मानचित्र सी #
- 11. एंड्रॉइड कस्टम फ़ॉन्ट स्पैन करने योग्य टाइपफेस स्पैन
- 12. एक स्ट्रिंग क्लिक करने योग्य बनाने, एक TextView
- 13. स्पैन करने योग्य स्ट्रिंग पर ड्रैग श्रोता सेट करें
- 14. सी # - क्लिक करने योग्य बटन
- 15. सीएसएस - एक div "क्लिक करने योग्य"
- 16. एक विकेट की पूरी पंक्ति बनाने योग्य क्लिक करने योग्य
- 17. मार्कर ड्रैग करने योग्य और क्लिक करने योग्य
- 18. jQuery, क्लिक करने योग्य तत्व
- 19. क्लिक करने योग्य छवि - एंड्रॉइड
- 20. OnClickListener क्लिक करने योग्य विशेषता
- 21. jQuery सॉर्ट करने योग्य, ड्रॉप करने योग्य और खींचने योग्य एक साथ काम करने के लिए
- 22. स्पैन किए गए स्ट्रिंग को स्पैन करने योग्य कैसे परिवर्तित करें
- 23. विम: क्लिक करने योग्य लेबल
- 24. सीएसएस: क्या एक छुपे ऑब्जेक्ट क्लिक करने योग्य है?
- 25. छवि में क्लिक करने योग्य जोन बनाएं?
- 26. जेएस हाईचार्ट्स में क्लिक करने योग्य बार्स?
- 27. जीडब्ल्यूटी के साथ क्लिक करने योग्य लिंक कैसे बनाएं?
- 28. एंड्रॉइड - क्लिक करने योग्य सूचीदृश्य कैसे बनाएं?
- 29. बूटस्ट्रैप के साथ पैनल हेडर क्लिक करने योग्य कैसे करें?
- 30. क्लिकटेक्स्ट में क्लिक करने योग्य यौगिक जो
टेक्स्टपेंट क्या है? – Booger
'ds.setColor (Color.rgb (0, 0, 255)); 'स्पैन करने योग्य स्ट्रिंग पर नीला रंग रखने के लिए (या इसे किसी भी रंग में बदलें)। –