2012-03-15 12 views
7

में क्लिक करने योग्य लिंक सेट करें मैं एक ऐप डिज़ाइन कर रहा हूं, जहां टेक्स्ट व्यू है, और कुछ चेक स्थिति के आधार पर, मैं जावा साइड में क्लिक करने योग्य टेक्स्ट व्यू में लिंक/फोन नंबर बनाना चाहता हूं। नियमित TextView बनाएँ और autoLink = "सभी" सेट नहीं है: मैं इस, मैं नहीं चाहता कि यह डिफ़ॉल्ट जो xml फ़ाइलजावा-एंड्रॉइड

android:autoLink="all" 

क्या मैं पहले से ही करने की कोशिश की सेटिंग द्वारा किया जाता है द्वारा क्लिक करने योग्य बनाना चाहते कर सकते हैं ,

 TextView myView = 
       (TextView)view.findViewById(R.id.thisIstheTextView); 
     myView .setLinksClickable(true); 

भी करने की कोशिश की:

 myView .setMovementMethod(LinkMovementMethod.getInstance()); 

ऊपर जावा कोड में से कोई भी काम करता है, मैं पहले से डिज़ाइन एक्सएमएल TextView नहीं करना चाहती autoLink सक्षम के साथ, मैं TextView व्यवहार को बदलना चाहते हैं जावा कोड में अगर() स्थितियों के आधार पर। मेरे कोड में कोई त्रुटि नहीं है, लेकिन मैं जो हासिल करना चाहता हूं उसे प्राप्त करने में सक्षम नहीं हूं। क्या आप अपना ज्ञान साझा कर सकते हैं। धन्यवाद।

+0

http://stackoverflow.com/questions/9380349/html-a-tag-not-working-in-android-textview/9380417#9380417 –

उत्तर

5

Linkify.addLinks (myView, Linkify.ALL); समस्या को हल किया गया।

13

setAutoLinkMask (int mask) का उपयोग करें।

संभावित मूल्य जो mask के लिए संयुक्त किए जा सकते हैं वे Linkify कक्षा के लिए परिभाषित हैं।

+0

धन्यवाद। हालांकि यह एंड्रॉइड की समतुल्य विधि है: ऑटोलिंक, यह अभी भी काम नहीं करता है। –

+9

क्षमा करें मैं असहमत हूं - यह काम करता है। आपको 'setText (...)' पर कॉल करने से पहले इसे कॉल करने की आवश्यकता है, हालांकि, इसमें पहले से टेक्स्ट होने के बाद 'टेक्स्ट व्यू' में लिंक नहीं बदले जाएंगे। आपके प्रश्न पूछे गए कि कुछ चेक किए गए हालत के आधार पर क्लिक करने योग्य/लिंक्ड आइटम (फोन नंबर इत्यादि) के रूप में आप जो दिखाना चाहते थे, उसके आधार पर 'टेक्स्ट व्यू' के व्यवहार को कैसे बदला जाए। मैंने माना कि आप चेक करेंगे, फिर ऑटो लिंक मास्क सेट करें और फिर टेक्स्ट सेट करें। – Squonk

+1

इस टेक्स्ट की तरह लिंकिफ़ी निरंतर उपयोग करें View.setAutoLinkMask (Linkify.WEB_URLS); –